小标
2018-10-22
来源 :
阅读 1537
评论 0
摘要:本文主要向大家介绍了机器学习入门之scikit-learn 入门,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
本文主要向大家介绍了机器学习入门之scikit-learn 入门,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
简介:scikit-learn是一个基于NumPy、SciPy、Matplotlib的开源机器学习工具包。採用Python语言编写。主要涵盖分类、
回归和聚类等算法,比如knn、SVM、逻辑回归、朴素贝叶斯、随机森林、k-means等等诸多算法,官网上代码和文档
都非常不错,对于机器学习开发人员来说。是一个使用方便而强大的工具,节省不少开发时间。
scikit-learn官网指南://scikit-learn.org/stable/user_guide.html
sklearn 快速入门的官方文档在这里。这个文档主要描述机器学习的概念,以及如何加载数据,训练模型,保存模型。
数据
sklearn 中的数据一般存放为二维数组,形状为 [n_samples, n_feartures]。比如著名的 iris 数据集(鸢尾花)包含了三种类别的花(target),共 150 组数据(samples),每组数据由 4 个特征组成,具体来说就是:萼片的长度、萼片的宽度、花瓣的长度、花瓣的宽度。那么,iris 数据集的 data 就由 150*4 的二维数组组成。
sklearn 提供了很多数据集,一类比较小,直接打包在库中,可以通过 datasets.load_ + Tab 来查看,另一类比较大,需要下载,可以通过 datasets.fetch_ + Tab 查看,下载的目录可以通过sklearn.datasets.get_data_home()查看。
更详细的信息请参考 notebook 中的 02_sklearn_data.ipynb 文件。
接口
创建一个机器学习的模型很简单:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
print model
所有模型提供的接口有:
model.fit(): 实际上就是训练,对于监督模型来说是 fit(X, y),对于非监督模型是 fit(X)。
监督模型提供:
model.predict(X_new): 判别新样本
model.predict_proba(X_new): 某些模型可以输出概率,比如 LR,上一个输出的就是概率最大的 target
model.score(): 得分越高,fit 越好
非监督模型提供:
model.transform(): 从数据中学到新的“基空间”,(例如聚类,稀疏特征?)。
model.fit_transform(): 从数据中学到新的基并将这个数据按照这组“基”进行转换。
下面这个图展示了这些接口在机器学习模型中的位置:
使用scikit-learn中的算法包kNN(k近邻)、SVM(支持向量机)、NB(朴素贝叶斯)来解决问题,解决问题的关键步骤有两个:
1、处理数据。2、调用算法
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号