scikit-learn 入门
简介:
scikit-learn是一个基于NumPy、SciPy、Matplotlib的开源机器学习工具包。採用Python语言编写。主要涵盖分类、
回归和聚类等算法,比如knn、SVM、逻辑回归、朴素贝叶斯、随机森林、k-means等等诸多算法,官网上代码和文档
都非常不错,对于机器学习开发人员来说。是一个使用方便而强大的工具,节省不少开发时间。
scikit-learn官网指南:http://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、调用算法
参考:http://www.cnblogs.com/daniel-D/
推荐博客:http://blog.csdn.net/u012162613/article/details/41929171
scikit-learn 入门相关推荐
- 机器学习与Scikit Learn学习库
摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...
- Scikit Learn: 在python中机器学习
Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...
- [转载]Scikit Learn: 在python中机器学习
原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...
- python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别
之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...
- 【scikit-learn】如何用Python和SciKit Learn 0.18实现神经网络
本教程的代码和数据来自于 Springboard 的博客教程.本文的作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:https://g ...
- python scikit learn 关闭开源_scikit learn 里没有神经网络?
本教程的代码和数据来自于 Springboard 的博客教程,希望能为你提供帮助.作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:ht ...
- scikit - learn 做文本分类
文章来源: https://my.oschina.net/u/175377/blog/84420 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的句子,我以自 ...
- python基于svm的异常检测_[scikit learn]:异常检测-OneClassSVM的替代方案
不幸的是,scikit目前只学习implements一类支持向量机和用于离群点检测的鲁棒协方差估计 通过检查2d数据上的差异,可以尝试比较这些方法(as provided in the doc):im ...
- scikit learn、tensorflow、keras区别
参考:简书-刘敬:https://www.jianshu.com/p/0837b7c6ce10,感谢 一. 功能不同 Scikit-learn(sklearn)的定位是通用机器学习库 TensorFl ...
- Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行单机训练并预测...
3.3 Spark在预测核心层的应用 我们使用Spark SQL和Spark RDD相结合的方式来编写程序,对于一般的数据处理,我们使用Spark的方式与其他无异,但是对于模型训练.预测这些需要调用算 ...
最新文章
- MPB:林科院袁志林组-一种简易的植物组织表面消毒装置
- 开源:这个来自清华的开源项目火爆 GitHub
- 跨域 (1) jsonp 跨域
- win10使用自带虚拟机没有Hyper-V场景
- go 关闭通道的必要性
- VBA实战技巧精粹011:新建只有1张工作表的工作簿
- 放弃Windows,用国产开源替换政府办公系统!这个国家做到了
- [渝粤教育] 中国地质大学 大学英语(1) 复习题
- 哥斯拉Godzilla Shell管理工具使用,马分析,特征分析(4K屏不好用,Webshell)
- 解决安装phpstudy之后启动Apache失败的问题
- python编程(python调用dll程序)
- 华为在推荐系统中的前沿技术研究与落地(附PPT下载链接)
- eclipse没有Web分支Dynamic Web Project
- Linux取消挂载,删除用户及其目录
- 被裁的第50天,我终于拿到心仪公司Offer
- Opencv椭圆拟合
- python安装包————————百度网盘
- 手把手教Python使用微信聊天记录生成词云
- 小球斜抛公式用C语言怎么写,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)...
- java 中国标准时间_JAVA 转Wed Oct 05 2016 00:00:00 GMT+0800 (中国标准时间)
热门文章
- Boost:是否支持sse2指令的测试程序
- DCMTK:可加载的DICOM数据字典中的字典条目
- VTK:相互作用之CallBack
- C语言计数排序Counting sort 算法(附完整源码)
- c++无继承情况下的对象构造
- 1.13.、1.14.Flink 支持的DataType和序列化、Flink Broadcast Accumulators Counters Distributed Cache
- 34.35.热图(heatmap)、创建带注释的热图、使用辅助函数的代码样式、图像显示、图像插值、将图像数据导入Numpy数组、将numpy数组绘制为图像
- 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联(转:http://playxinz.iteye.com/blog/2249634)
- centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能