Sklearn 用户手册 一:机器学习初体验

翻译 2016年08月28日 20:22:05


近期学着用python机器学习库Scikit-learn做一些小项目,翻文档时豁然发现,这篇用户手册它不仅仅是一篇用户手册,还集成了很多贴心的机器人生小感悟啊。于是便有了翻译她这个很小冒的念头。当然作为一名有追求的机器学习者,是不能做逐字逐句的翻译这种一下子就被识破的事情,所以决定。。几句并一句的翻,机智如我。

一: 当我们遇到一个机器学习问题

就解决问题而言,机器学习的思想与小学时候做的应用题并无两样,首先,需要清楚想要求解什么,其次,理清你的已知条件是什么,然后想方设法利用你的已知条件去得到结果。

So,根据机器学习想要的结果。可以把问题分为:分类/聚类问题,或者是回归问题。

分类和聚类:如给成绩分个A/B/C,数学语言为离散。

回归:不给分等,但是要求有具体成绩,是69.0、还是80.9. 数学语言为连续。

当然分类和聚类又有区别,如果事先告诉电脑80以上就是A,70-80就是B,它只用老老实实照着这个给定标准来,这就是分类。但是如果这次考试很难,老师也不知道大家考的怎么样啊,然后就说电脑你随便分吧,只要把成绩相近的放一起,然后分出三个等级出来,这就是聚类了。用机器学习的语言就是,分类模型给电脑的学习数据是有标签的,俗称label。而聚类的没有。


二:那就加载一个数据集看看吧

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()

print digits.data


[[  0.   0.   5. ...,   0.   0.   0.]
 [  0.   0.   0. ...,  10.   0.   0.]
 [  0.   0.   0. ...,  16.   9.   0.]
 ..., 
 [  0.   0.   1. ...,   6.   0.   0.]
 [  0.   0.   2. ...,  12.   0.   0.]
 [  0.   0.  10. ...,  12.   1.   0.]]
datasets是一个字典格式的数据集,包含了数据的信息以及他们的元数据信息,比如:

load_iris():  那朵著名的鸾尾花的数据

load_digits(): 可用于训练的数字图片数据集

digits.data: 数据集的特征,也就是矩阵X

digits.target: 数据集的标签,也就是矩阵y

data始终会是个二维矩阵,每一行是个样本,每一列是特征。每个样本的其它具体数据可以通过其它的方式得到。如:

digits.image[0]:第一张图片的数据信息,print一下可发现是个8*8维的数据


三:我们的目标是--争当最强算命师(学习与预测)

有了一堆X,还有了y,现在要做的就是找到一个适当的模型,输入X, 然后输出y。再给一个没见过的X,猜出y。sklearn里这两步基本就是通过fit()和predict()来做了,对于每个模型都如此。相信他们是为了更人性,绝对不是因为偷懒。举例:

<span style="font-size:14px;">from sklearn import svm

</span>
<span style="font-size:14px;">#建立一个新模型
clf = svm.SVC(gamma=0.001, C=100.)</span>
<span style="font-size:14px;">#喂入数据,为了验证模型的有效性,把最后一个样本去掉,以便在下一步用于预测
clf.fit(digits.data[:-1], digits.target[:-1])</span>
<span style="font-size:14px;">#clf已经是个训练好的模型了,将最后一个数据放入其预测函数
clf.predict(digits.data[-1])</span>


四:保存工作成果

这个模型你已经满意了,现在当然是希望能把它保存起来,否则每次都要重新训练,想想就很累啊。

import pickle
from sklearn.externals import joblib

#存入变量
s = pickle.dumps(clf)
#load回来
clf2 = pickle.loads(s)

#存入文件
joblib.dump(clf, 'whatever.pkl')
#load回来
clf = joblib.load('whatever.pkl')
使用joblib时,存下的是一系列的文件,包括每个变量。load的时候也要保证这堆东西还在一起。

scikit-learn sklearn 0.18 官方文档中文版

欢迎转载学习 => 请标注信息来源于 ApacheCN

sklearn API 文档 - 0.18 中文翻译

所有函数和类的确切API,由docstrings给出。API会为所有功能提供预期类型和允许的功能,以及可用于算法的所有参数。 原文链接 : http://scikit-learn.org...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

sklearn学习记录一:官方使用说明

本文参考官方网站:http://scikit-learn.org/stable/tutorial/basic/tutorial.html scikit-learn工具包自带一些标准数据集(包括iris...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Sklearn用户手册(五):回归二

继续回归.

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Sklearn用户手册(三): 文本数据的处理

本次内容:一些关于文本处理的东西
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sklearn 用户手册 一:机器学习初体验
举报原因:
原因补充:

(最多只允许输入30个字)