一.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机器学习库的更多相关文章

  1. Python线性回归算法【解析解,sklearn机器学习库】

    一.概述 参考博客:https://www.cnblogs.com/yszd/p/8529704.html 二.代码实现[解析解] import numpy as np import matplotl ...

  2. 使用sklearn机器学习库实现线性回归

    import numpy as np  # 导入科学技术框架import matplotlib.pyplot as plt  # 导入画图工具from sklearn.linear_model imp ...

  3. Python 3 利用 Dlib 19.7 和 sklearn机器学习模型 实现人脸微笑检测

    0.引言  利用机器学习的方法训练微笑检测模型,给一张人脸照片,判断是否微笑:   使用的数据集中69张没笑脸,65张有笑脸,训练结果识别精度在95%附近: 效果: 图1 示例效果 工程利用pytho ...

  4. 用python+sklearn(机器学习)实现天气预报 准备

    用python+sklearn机器学习实现天气预报 准备 项目地址 系列教程 0.流程介绍 1. 环境搭建 a.python b.涉及到的机器学习相关库 sklearn panda seaborn j ...

  5. 机器学习算法及代码实现–K邻近算法

    机器学习算法及代码实现–K邻近算法 1.K邻近算法 将标注好类别的训练样本映射到X(选取的特征数)维的坐标系之中,同样将测试样本映射到X维的坐标系之中,选取距离该测试样本欧氏距离(两点间距离公式)最近 ...

  6. 用python+sklearn(机器学习)实现天气预报数据 模型和使用

    用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...

  7. 用python+sklearn(机器学习)实现天气预报数据 数据

    用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...

  8. 机器学习:如何通过Python入门机器学习

    我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高.因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发. 我了解到Python的生态对入门机器学习很有帮助 ...

  9. Python机器学习笔记:不得不了解的机器学习知识点(2)

    之前一篇笔记: Python机器学习笔记:不得不了解的机器学习知识点(1) 1,什么样的资料集不适合用深度学习? 数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势. 数据集没有局 ...

随机推荐

  1. 791. Custom Sort String - LeetCode

    Question 791. Custom Sort String Solution 题目大意:给你字符的顺序,让你排序另一个字符串. 思路: 输入参数如下: S = "cba" T ...

  2. linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作

    Linux  MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...

  3. 【万字长文】使用 LSM Tree 思想实现一个 KV 数据库

    目录 设计思路 何为 LSM-Treee 参考资料 整体结构 内存表 WAL SSTable 的结构 SSTable 元素和索引的结构 SSTable Tree 内存中的 SSTable 数据查找过程 ...

  4. SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别

    先上代码: declare @tb table (name varchar(10),sex int) declare @tb2 table (name varchar(10),age int) ins ...

  5. Linux下添加MySql组件后报无权限问题解决

    Tomcat日志报错如下: Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using pas ...

  6. 从零开始实现lmax-Disruptor队列(一)RingBuffer与单生产者、单消费者工作原理解析

    1.lmax-Disruptor队列介绍 disruptor是英国著名的金融交易所lmax旗下技术团队开发的一款java实现的高性能内存队列框架 其发明disruptor的主要目的是为了改进传统的内存 ...

  7. 【原创】史上最简单易懂的kali修改主机名方法

    前言 主机名:在一个局域网中,每台机器都有IP地址,但是IP地址不便于人们记忆.于是采用主机名,即利于主机之间的区分,又方便人们的记忆主机.--和域名差不多. 一,查看当前的主机名 ┌──(root㉿ ...

  8. 【抬杠.NET】如何进行IL代码的开发(续)

    背景 之前写了一篇文 [抬杠.NET]如何进行IL代码的开发 介绍了几种IL代码的开发方式. 创建IL项目 C#项目混合编译IL 使用InlineIL.Fody 使用DynamicMethod(ILG ...

  9. np.r_、np.c_、np.concatenate和np.append

    np.r_是按行连接两个矩阵,就是把两矩阵上下相加,要求列数相等,最终结果的行数为两个矩阵行数和. np.c_是按列连接两个矩阵,就是把两矩阵左右相加,要求行数相等,最终结果的列数等于两矩阵的列数和. ...

  10. IIS版本与Windows Server版本对应关系

    IIS 6.0随着Windows XP Professional 64位和Windows Server 2003发布. IIS 7.0随着Windows Vista和Windows Server 20 ...