Sklearn简介

scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

sklearn是面向机器学习的Python开源框架,其中包括数据预处理、降维、聚类、分类、回归、模型选择常用的机器学习算法。易安装易使用,在数据分析过程中快速建立模型,而且模型接口统一。sklearn拥有优秀的官方文档,内容丰富、详细,是入门学习的很好选择。

在工程应用中,用python手写代码来从头实现一个算法的可能性非常低,这样不仅耗时耗力,还不一定能够写出构架清晰,稳定性强的模型。更多情况下,是分析采集到的数据,根据数据特征选择适合的算法,在工具包中调用算法,调整算法的参数,获取需要的信息,从而实现算法效率和效果之间的平衡。而sklearn,正是这样一个可以帮助我们高效实现算法应用的工具包。

Sklearn常用模块介绍

模型选择:比较,验证,选择参数和模型,常用的模块有:grid search(网格搜索)、cross validation(交叉验证)、 metrics(度量)。它的目标是通过参数调整提高精度。

预处理:特征提取和归一化,常用的模块有:preprocessing,feature extraction,常见的应用有:把输入数据(如文本)转换为机器学习算法可用的数据。

降维:减少要考虑的随机变量的数量,常见的算法有:PCA(主成分分析)、feature selection(特征选择)、non-negative matrix factorization(非负矩阵分解),常见的应用有:可视化,提高效率。

分类:识别某个对象属于哪个类别,常用的算法有:SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林),常见的应用有:垃圾邮件识别、图像识别。

聚类:将相似对象自动分组,常用的算法有:k-Means、 spectral clustering、mean-shift,常见的应用有:客户细分,分组实验结果。

回归:预测与对象相关联的连续值属性,常见的算法有:SVR(支持向量机)、 ridge regression(岭回归)、Lasso,常见的应用有:药物反应,预测股价。

Sklearn安装

Scikit-learn需要:

Python(> = 2.7或> = 3.4),
NumPy(> = 1.8.2),
SciPy(> = 0.13.3)。

如果你已经安装了numpy和scipy,那么安装scikit-learn的最简单方法就是使用 pip。

但是这里建议还是使用Anaconda中的jupyter来使用该框架,安装只需要在https://www.anaconda.com/下载并安装自己操作系统类型的版本即可使用。

什么是Anaconda?

1. 简介

Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

2. 特点

Anaconda具有如下特点:

开源、安装过程简单、高性能使用Python和R语言、免费的社区支持、其特点的实现主要基于Anaconda拥有的:conda包、环境管理器、1,000+开源库。

Sklearn对数据进行预处理

对框架中内置的房价预测数据进行简单的预处理,具体操作如下:

1. 导入框架读入数据

2. 拆分数据:将数据分为训练集和测试集

3. 进行离差标准化操作

4.自己写函数实现第n列的离差标准化

总结:通过上述比较可以明显的体现sklearn的高效性,使用者可以避免重复造轮子的现象,从而提高工作效率,希望上面的讲解对您有帮助。