机器学习(公式推导与代码实现)--sklearn机器学习库
一.scikit-learn概述
1.sklearn模型
sklearn全称是scikit-learn,它是一个基于Python的机器学习类库,主要建立在NumPy、Pandas、SciPy和Matplotlib等类库之上,基本上覆盖了常见了分类、回归、聚类、降维、模型选择和预处理模块。

2.sklearn源码
下图是sklearn在GitHub上的源代码,编程语言主要包括:91.4%的Python,6.5%的Cython,1.3%的C++和0.8%的Other。如下所示:

二.模型选择和预处理
1.模型选择
解析:网格搜索,交叉验证
2.预处理
解析:评估指标,数据预处理
三.有监督学习模型
可以将有监督模型分为生成式模型和判别式模型,常见的生成式模型包括朴素贝叶斯、HMM和隐含狄利克雷分配(LDA),其它的基本都是判别式模型。
1.线性模型
解析:线性回归,对数几率回归,LASSO回归,Ridge回归,线性判别分析(LDA)
2.\({k}\)近邻
3.决策树
解析:ID3,C4.5,CART
4.神经网络
解析:感知机,神经网络
5.支持向量机
解析:线性可分,近似线性可分,线性不可分
6.集成模型
(1)Boosting
解析:AdaBoost,GBDT,XGBoost,LightGBM,CatBoost
(2)Bagging
解析:随机森林
四.无监督学习模型
1.聚类
解析:\(k\)均值聚类,层次聚类,谱聚类
2.降维
解析:主成分分析(PCA),奇异值分解(SVD)
五.概率模型
1.最大信息熵模型
2.贝叶斯概率模型
解析:朴素贝叶斯,贝叶斯网络
3.期望最大化(EM)算法
4.概率图模型
解析:隐马尔科夫模型(HMM),条件随机场(CRF)
5.马尔可夫链蒙特卡洛(MCMC)
参考文献:
[1]scikit-learn:https://scikit-learn.org/stable/
[2]scikit-learn(sklearn)官方文档中文版:https://sklearn.apachecn.org/#/?id=scikit-learn-sklearn-官方文档中文版
[3]scikit-learn安装:https://scikit-learn.org/stable/install.html
[4]scikit-learn用户指南:https://scikit-learn.org/stable/user_guide.html
[5]scikit-learn API参考:https://scikit-learn.org/stable/modules/classes.html
[6]scikit-learn例子:https://scikit-learn.org/stable/auto_examples/index.html
[7]scikit-learn博客:https://blog.scikit-learn.org/
[8]scikit-learn教程:https://scikit-learn.org/stable/tutorial/index.html
[9]scikit-learn FAQ:https://scikit-learn.org/stable/faq.html
[10]scikit-learn GitHub:https://github.com/scikit-learn/scikit-learn
[11]scikit-learn不同版本文档:https://scikit-learn.org/dev/versions.html
[12]scikit-learn wiki:https://github.com/scikit-learn/scikit-learn/wiki
[13]scikit-learn版本更新日志:https://scikit-learn.org/stable/whats_new/v1.1.html
[14]scikit-learn开发指南:https://scikit-learn.org/dev/developers/index.html
[15]scikit-learn相关类库:https://scikit-learn.org/stable/related_projects.html
[16]Hugging Face:https://huggingface.co/
[17]《机器学习:公式推导与代码实现》
机器学习(公式推导与代码实现)--sklearn机器学习库的更多相关文章
- Python线性回归算法【解析解,sklearn机器学习库】
一.概述 参考博客:https://www.cnblogs.com/yszd/p/8529704.html 二.代码实现[解析解] import numpy as np import matplotl ...
- 使用sklearn机器学习库实现线性回归
import numpy as np # 导入科学技术框架import matplotlib.pyplot as plt # 导入画图工具from sklearn.linear_model imp ...
- Python 3 利用 Dlib 19.7 和 sklearn机器学习模型 实现人脸微笑检测
0.引言 利用机器学习的方法训练微笑检测模型,给一张人脸照片,判断是否微笑: 使用的数据集中69张没笑脸,65张有笑脸,训练结果识别精度在95%附近: 效果: 图1 示例效果 工程利用pytho ...
- 用python+sklearn(机器学习)实现天气预报 准备
用python+sklearn机器学习实现天气预报 准备 项目地址 系列教程 0.流程介绍 1. 环境搭建 a.python b.涉及到的机器学习相关库 sklearn panda seaborn j ...
- 机器学习算法及代码实现–K邻近算法
机器学习算法及代码实现–K邻近算法 1.K邻近算法 将标注好类别的训练样本映射到X(选取的特征数)维的坐标系之中,同样将测试样本映射到X维的坐标系之中,选取距离该测试样本欧氏距离(两点间距离公式)最近 ...
- 用python+sklearn(机器学习)实现天气预报数据 模型和使用
用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...
- 用python+sklearn(机器学习)实现天气预报数据 数据
用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...
- 机器学习:如何通过Python入门机器学习
我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高.因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发. 我了解到Python的生态对入门机器学习很有帮助 ...
- Python机器学习笔记:不得不了解的机器学习知识点(2)
之前一篇笔记: Python机器学习笔记:不得不了解的机器学习知识点(1) 1,什么样的资料集不适合用深度学习? 数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势. 数据集没有局 ...
随机推荐
- 个人冲刺(一)——体温上报app(二阶段)
冲刺任务:完成app登录和注册页面的布局 activity_register.xml <?xml version="1.0" encoding="utf-8&quo ...
- 第06组Alpha冲刺(6/6)
目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2.曹兰英 3. 方梓涵 4.曾丽莉 5.鲍凌函 6.杜筱 7.黄少丹 8.詹鑫冰 9.董翔云 10.吴沅静 1.3 冲刺成果展示 1.1 基 ...
- salesforce零基础学习(一百一十五)记一个有趣的bug
本篇参考:https://help.salesforce.com/s/articleView?language=en_US&type=1&id=000319486 page layou ...
- 33个非常实用的JavaScript一行代码
33个非常实用的JavaScript一行代码 一.日期处理 1. 检察日期是否有效 该方法用于检测给出的日期是否有效: const isDateValid = (...val) => !Numb ...
- 基于.NetCore开发博客项目 StarBlog - (11) 实现访问统计
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- 国外卡组织的 交换费-interchangefee(发卡行服务费) 和 银联对比
本文地址:https://www.cnblogs.com/hchengmx/p/15170391.html 1. 交换费(interchangefee)介绍 2. MasterCard 万事达卡 &a ...
- 解决maven依赖冲突,这篇就够了!
一.前言 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突. 依赖冲突的原因 我们在maven项目的pom中 一般会引用许许多多的dependency.例如 ...
- 前端学习 linux —— 第一篇
前端学习 linux - 第一篇 本文主要介绍"linux 发行版本"."cpu 架构"."Linux 目录结构"."vi 和 v ...
- 自己封装的tools.js文件
/* * 生成指定范围的随机整数 * @param lower 下限 * @param upper 上限 * @return 返回指定范围的随机整数,上/下限值均可取 */ function rand ...
- 「快速学习系列」我熬夜整理了Vue3.x响应性API
前言 Vue3.x正式版发布已经快半年了,相信大家也多多少少也用Vue3.x开发过项目.那么,我们今天就整理下Vue3.x中的响应性API.响应性APIreactive 作用: 创建一个响应式数据. ...