scikit-learn

自2007年发布以来,scikit-learn已经成为最给力的Python机器学习库(library)了。scikit-learn支持的机器学习算法包括分类,回归,降维和聚类。还有一些特征提取(extracting features)、数据处理(processing data)和模型评估(evaluating models)的模块。作为Scipy库的扩展,scikit-learn也是建立在Python的NumPy和matplotlib库基础之上。NumPy可以让Python支持大量多维矩阵数据的高效操作,matplotlib提供了可视化工具,SciPy带有许多科学计算的模型。
    scikit-learn文档完善,容易上手,丰富的API,使其在学术界颇受欢迎。开发者用scikit-learn实验不同的算法,只要几行代码就可以搞定。scikit-learn包括许多知名的机器学习算法的实现,包括LIBSVM和LIBLINEAR。还封装了其他的Python库,如自然语言处理的NLTK库。另外,scikit-learn内置了大量数据集,允许开发者集中于算法设计,节省获取和整理数据集的时间。
    scikit-learn可以不受任何限制,遵从自由的BSD授权。许多scikit-learn的算法都可以快速执行而且可扩展,除了海量数据集以外。最后,scikit-learn稳定性很好,大部分代码都可以通过Python的自动化测试(mock,nose等)。
scikit-learn文档完善,容易上手,丰富的API,使其在学术界颇受欢迎。开发者用scikit-learn实验不同的算法,只要几行代码就可以搞定。scikit-learn包括许多知名的机器学习算法的实现,包括LIBSVM和LIBLINEAR。还封装了其他的Python库,如自然语言处理的NLTK库。另外,scikit-learn内置了大量数据集,允许开发者集中于算法设计,节省获取和整理数据集的时间。
    scikit-learn可以不受任何限制,遵从自由的BSD授权。许多scikit-learn可以快速执行而且可扩展,除了海量数据集以外。最后,scikit-learn稳定性很好。
Mac OS上建议安装Anaconda,里面集成了scikit-learn、numpy、matplot、scipy等等做科学计算必须的东西。
可以通过sklearn.version来查看当前sklearn的版本信息。下图是我安装后的截图。

通常,给定样本数据集,然后尝试预测未知数据的属性,如果每个样本超过单个数值,例如,一组多维的输入值,就称其有多个属性或特征。
我们可以将学习问题分为几大类:
监督学习:监督学习是对具有概念标记(分类)的训练样本进行学习,以尽可能对训练样本集外的数据进行标记(分类)预测。这里,所有的标记(分类)是已知的。
其还可以在分:
     –分类:样本数据属于两类或者多类,我们想要从带类别标记的数据中学习,并预测未知数据的类别。一个分类问题的例子就是手写数字识别的例子。
     –回归:如果输出数据时由一系列连续的变量组成,我们称这个任务为回归。回归问题的一个例子是根据鲑鱼的年龄和重量来预测鲑鱼的长度。
非监督学习:对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。这里,所有的标记(分类)是未知的。这种问题的目标是发现数据样本聚集的相似性,那就称其为聚类;或在输入空间内决定数据的分布,其就是密度估计;或是将高维的数据降维到二维或者三维,以便进行数据可视化。

训练集、测试集、验证集
训练集:训练集是用来学习的样本集,通过匹配一些参数来建立一个模型(如:分类器)
测试集:测试集纯粹是为了测试已经训练好的模型的分类能力的样本集。
验证集:验证集是用来调整分类器的参数的样本集,比如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

scikit-learn本身内置了一些标准的数据集,例如:鸢尾花和数字数据集用于分类,还有波士顿房屋价格数据集用来做回归。
接下来用Python 语言来实现加载这些数据集(iris和digits)

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
学习和预测

在数字数据集中,我们的任务是给定一张数字图片,然后预测对应的数字。
在scikit-learn中,我们通过fit(X, y)来训练模型,predict(T)来预测未知样本的类别。

from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100.)

通过对scikit-learn的简单了解、安装以及简单示例的练习。理论+实践+持之以恒的学习就可以掌握机器学习相关的知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值