简介:

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 入门相关推荐

  1. 机器学习与Scikit Learn学习库

    摘要: 本文介绍机器学习相关的学习库Scikit Learn,包含其安装及具体识别手写体数字案例,适合机器学习初学者入门Scikit Learn. 在我科研的时候,机器学习(ML)是计算机科学领域中最 ...

  2. Scikit Learn: 在python中机器学习

    Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...

  3. [转载]Scikit Learn: 在python中机器学习

    原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...

  4. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  5. 【scikit-learn】如何用Python和SciKit Learn 0.18实现神经网络

    本教程的代码和数据来自于 Springboard 的博客教程.本文的作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:https://g ...

  6. python scikit learn 关闭开源_scikit learn 里没有神经网络?

    本教程的代码和数据来自于 Springboard 的博客教程,希望能为你提供帮助.作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:ht ...

  7. scikit - learn 做文本分类

    文章来源: https://my.oschina.net/u/175377/blog/84420 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的句子,我以自 ...

  8. python基于svm的异常检测_[scikit learn]:异常检测-OneClassSVM的替代方案

    不幸的是,scikit目前只学习implements一类支持向量机和用于离群点检测的鲁棒协方差估计 通过检查2d数据上的差异,可以尝试比较这些方法(as provided in the doc):im ...

  9. scikit learn、tensorflow、keras区别

    参考:简书-刘敬:https://www.jianshu.com/p/0837b7c6ce10,感谢 一. 功能不同 Scikit-learn(sklearn)的定位是通用机器学习库 TensorFl ...

  10. Spark技术在京东智能供应链预测的应用——按照业务进行划分,然后利用scikit learn进行单机训练并预测...

    3.3 Spark在预测核心层的应用 我们使用Spark SQL和Spark RDD相结合的方式来编写程序,对于一般的数据处理,我们使用Spark的方式与其他无异,但是对于模型训练.预测这些需要调用算 ...

最新文章

  1. MPB:林科院袁志林组-一种简易的植物组织表面消毒装置
  2. 开源:这个来自清华的开源项目火爆 GitHub
  3. 跨域 (1) jsonp 跨域
  4. win10使用自带虚拟机没有Hyper-V场景
  5. go 关闭通道的必要性
  6. VBA实战技巧精粹011:新建只有1张工作表的工作簿
  7. 放弃Windows,用国产开源替换政府办公系统!这个国家做到了
  8. [渝粤教育] 中国地质大学 大学英语(1) 复习题
  9. 哥斯拉Godzilla Shell管理工具使用,马分析,特征分析(4K屏不好用,Webshell)
  10. 解决安装phpstudy之后启动Apache失败的问题
  11. python编程(python调用dll程序)
  12. 华为在推荐系统中的前沿技术研究与落地(附PPT下载链接)
  13. eclipse没有Web分支Dynamic Web Project
  14. Linux取消挂载,删除用户及其目录
  15. 被裁的第50天,我终于拿到心仪公司Offer
  16. Opencv椭圆拟合
  17. python安装包————————百度网盘
  18. 手把手教Python使用微信聊天记录生成词云
  19. 小球斜抛公式用C语言怎么写,利用C4droid绘制小球斜抛运动轨迹(考虑空气阻力)...
  20. java 中国标准时间_JAVA 转Wed Oct 05 2016 00:00:00 GMT+0800 (中国标准时间)

热门文章

  1. Boost:是否支持sse2指令的测试程序
  2. DCMTK:可加载的DICOM数据字典中的字典条目
  3. VTK:相互作用之CallBack
  4. C语言计数排序Counting sort 算法(附完整源码)
  5. c++无继承情况下的对象构造
  6. 1.13.、1.14.Flink 支持的DataType和序列化、Flink Broadcast Accumulators Counters Distributed Cache
  7. 34.35.热图(heatmap)、创建带注释的热图、使用辅助函数的代码样式、图像显示、图像插值、将图像数据导入Numpy数组、将numpy数组绘制为图像
  8. 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联(转:http://playxinz.iteye.com/blog/2249634)
  9. centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
  10. jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能