1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Py之scikit-learn:机器学习sklearn库的简介 六大基本功能介绍(数据预处理/数据降维/

Py之scikit-learn:机器学习sklearn库的简介 六大基本功能介绍(数据预处理/数据降维/

时间:2020-12-13 05:27:29

相关推荐

Py之scikit-learn:机器学习sklearn库的简介 六大基本功能介绍(数据预处理/数据降维/

Py之scikit-learn:机器学习sklearn库的简介(组件/版本迭代)、六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类)、安装、使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略

目录

scikit-learn的简介

1、scikit-learn的实现组件

2、scikit-learn的发展历史

scikit-learn的基本功能—六大部分

1、数据预处理

(1)、sklearn.preprcessing数据预处理包介绍

2、数据降维

3、模型选择

(1)、估计器Estimator、转换器Transformer介绍

(2)、流水线Pipeline包介绍

4、分类

5、回归

6、聚类

scikit-learn的安装

1、安装前的准备以及安装方法

2、测试scikit-learn是否安装成功

scikit-learn的使用方法

1、如何选择最合适的模型算法

scikit-learn的简介

scikit-learn,scikits.learn,也称为sklearn,是针对Python 编程语言的免费软件机器学习库。scikit-learn项目最早由数据科学家 David Cournapeau 在 年发起,需要NumPy和SciPy等其他包的支持,旨在与Python数值科学库NumPy和SciPy联合使用,是Python语言中专门针对机器学习应用而发展起来的一款开源框架。

scikit-learn,是机器学习和数据挖掘中的一个功能强大的python包。在数据量不是过大的情况下,可以解决大部分问题。scikit-learn的特点如下:

用于预测数据分析的简单高效工具每个人都可以访问,并且可以在各种情况下重复使用基于 NumPy、SciPy 和 matplotlib 构建开源,商业可用 - BSD 许可证

scikit-learn依托于Numpy、Scipy等几种工具包,封装大量经典以及最新的机器学习模型。该接口最早由David Cournapeau在Google夏季代码节中提出并启动。后来作为Matthieu Brucher博士工作的一部分得以延续和完善。现在已经是相对成熟的机器学习开源项目。

近十年来,有超过20位计算机专家参与其代码的更新和维护工作。作为一款用于机器学习和实践的Python第只方开源程序库,scikit-learn因其出色的接口设计和高效的学习能力,尤其受ML爱好者的欢迎。

和其他众多的开源项目一样,scikit-learn目前主要由社区成员自发进行维护。可能是由于维护成本的限制,scikit-learn相比其他项目要显得更为保守。这主要体现在两个方面:

一是scikit-learn从来不做除机器学习领域之外的其他扩展;二是scikit-learn从来不采用未经广泛验证的算法。

官方文档:User guide: contents — scikit-learn 1.2.dev0 documentation

1、scikit-learn的实现组件

scikit-learn主要是用Python编写的,并且广泛使用numpy进行高性能的线性代数和数组运算。此外,用Cython编写了一些核心算法来提高性能。支持向量机由围绕LIBSVM的Cython包装器实现 ; 逻辑回归和线性支持向量机的相似包装围绕LIBLINEAR。scikit-learn与许多其他Python库很好地集成在一起,例如matplotlib和plotly用于绘图,numpy用于数组矢量化,pandas数据帧,scipy等。

2、scikit-learn的发展历史

scikit-learn项目始于scikits.learn,这是David Cournapeau的Google Summer of Code项目。它的名称源于它是“ SciKit”(SciPy工具包)的概念,它是SciPy的独立开发和分布式第三方扩展。原始代码库后来被其他开发人员重写。

scikit-learn最初由David Cournapeau 于在Google的夏季代码项目中开发。后来Matthieu Brucher加入该项目,并开始将其用作论文工作的一部分。,法国计算机科学与自动化研究所INRIA参与其中,并于1月下旬发布了第一个公开版本(v0.1 beta)。

官方版本更新简介:Release History — scikit-learn 1.2.dev0 documentation

scikit-learn的基本功能—六大部分

scikit-learn的基本功能主要被分为:数据预处理,数据降维,模型选择,分类,回归,聚类六大部分。 scikit-learn涉及的算法中(分类、回归、聚类算法)包括支持向量机,随机森林,梯度提升,k均值和DBSCAN等等。

1、数据预处理

数据预处理,是指数据的特征提取和归一化,是机器学习过程中的第一个也是最重要的一个环节。这里归一化是指将输入数据转换为具有零均值和单位权方差的新变量,但因为大多数时候都做不到精确等于零,因此会设置一个可接受的范围,一般都要求落在0-1之间。而特征提取是指将文本或图像数据转换为可用于机器学习的数字变量。 需要特别注意的是,这里的特征提取与上文在数据降维中提到的特征选择非常不同。特征选择是指通过去除不变、协变或其他统计上不重要的特征量来改进机器学习的一种方法。 总结来说,scikit-learn实现了一整套用于数据降维,模型选择,特征提取和归一化的完整算法/模块,虽然缺少按步骤操作的参考教程,但scikit-learn针对每个算法和模块都提供了丰富的参考样例和详细的说明文档。

官方链接:6.3. Preprocessing data — scikit-learn 1.2.dev0 documentation

(1)、sklearn.preprcessing数据预处理包介绍

2、数据降维

数据降维,是指使用主成分分析(PCA)、非负矩阵分解(NMF)或特征选择等降维技术来减少要考虑的随机变量的个数,其主要应用场景包括可视化处理和效率提升。

官方链接:2.5. Decomposing signals in components (matrix factorization problems) — scikit-learn 1.2.dev0 documentation

3、模型选择

模型选择,是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精度。目前scikit-learn实现的模块包括:格点搜索,交叉验证和各种针对预测误差评估的度量函数。

官方链接:3. Model selection and evaluation — scikit-learn 1.2.dev0 documentation

(1)、估计器Estimator、转换器Transformer介绍

(2)、流水线Pipeline包介绍

4、分类

分类算法,是指识别给定对象的所属类别,属于监督学习的范畴,最常见的应用场景包括垃圾邮件检测和图像识别等。目前scikit-learn已经实现的算法包括:支持向量机(SVM),最近邻,逻辑回归,随机森林,决策树以及多层感知器(MLP)神经网络等等。 需要指出的是,由于scikit-learn本身不支持深度学习,也不支持GPU加速,因此这里对于MLP的实现并不适合于处理大规模问题。有相关需求的读者可以查看同样对Python有良好支持的Keras和Theano等框架。

官方链接:1. Supervised learning — scikit-learn 1.2.dev0 documentation

5、回归

回归算法,是指预测与给定对象相关联的连续值属性,最常见的应用场景包括预测药物反应和预测股票价格等。目前scikit-learn已经实现的算法包括:支持向量回归(SVR),脊回归,Lasso回归,弹性网络(Elastic Net),最小角回归(LARS ),贝叶斯回归,以及各种不同的鲁棒回归算法等。可以看到,这里实现的回归算法几乎涵盖了所有开发者的需求范围,而且更重要的是,scikit-learn还针对每种算法都提供了简单明了的用例参考。

官方链接:1. Supervised learning — scikit-learn 1.2.dev0 documentation

6、聚类

聚类算法,是指自动识别具有相似属性的给定对象,并将其分组为集合,属于无监督学习的范畴,最常见的应用场景包括顾客细分和试验结果分组。目前scikit-learn已经实现的算法包括:K-均值聚类,谱聚类,均值偏移,分层聚类,DBSCAN聚类等。

2.3. Clustering

2.3.1. Overview of clustering methods2.3.2. K-means2.3.3. Affinity Propagation2.3.4. Mean Shift2.3.5. Spectral clustering2.3.6. Hierarchical clustering2.3.7. DBSCAN2.3.8. OPTICS2.3.9. BIRCH2.3.10. Clustering performance evaluation

官方链接:2.3. Clustering — scikit-learn 1.2.dev0 documentation

scikit-learn的安装

1、安装前的准备以及安装方法

安装scikit-learn之前,python包内必要有的包,如Numpy、Scipy、Matlotlib等。

pip install scikit-learnpip install scikit-learn==0.19.1pip install scikit-learn==0.23.1pip install F:\Program Files\Python\whl_scikit_learn\scikit_learn-0.19.1-cp34-cp34m-win_amd64.whl

2、测试scikit-learn是否安装成功

from sklearn import datasetsiris = datasets.load_iris()digits = datasets.load_digits()print (digits.data)

scikit-learn的使用方法

scikit-learn algorithm cheat-sheet

1、如何选择最合适的模型算法

相关文章:Choosing the right estimator — scikit-learn 1.0.1 documentation

解决机器学习问题的最困难的部分通常是为工作找到正确的估计量。不同的估计量更适合于不同类型的数据和不同的问题。下面的流程图旨在为用户提供一个关于如何处理问题的粗略指南,这些问题涉及到哪些评估人员要尝试您的数据。点击下表中的任何估算器查看其文档。

相关文章

scikit-learn与机器学习的那些不可告密的七七八八事

scikit-learn与深度学习的那些不可告密的七七八八事

Py之scikit-learn:机器学习sklearn库的简介 六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类) 安装 使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。