在scikit-learn包含大部分流行的有监督学习算法(分类回归)和无监督学习算法(聚类和数据降维)的实现
目录
1.评估模型对象
scikit- eam 里的所有算法都以一个评估模型对象来对外提供接口。
在机器学习应用开发的典型步骤中,使用支持向量机来训练模型
# 使用支持向量机来训练模型
from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100., probability=True)
在此处svm.SVC()函数返回的就是一个支持向量机评估模型对象。
在创建模型评估时,会对参数进行设置,这里的参数的数值可以指定不同的数值,这个称为评估对象参数
评估模型参数直接影响了评估模型训练时的效率以及准确性
注意:在学习机器学习算法的原理时,其中有一件最重要的事就是:了解不同的机器学习算法有哪些可调的参数
2.模型接口
fit()接口
scikit-learn 所有的评估模型对象都有 fit()这个接口,这是用来 练模型的接口。
训练模型
对于有监督的机器学习:使用fit(X,y)来进行训练,其中y为标记数据
对于无监督的机器学习:使用fit(X)来进行训练,因为为无监督学习,所以没有标记数据
predict()接口
有监督学习:经过训练出来的模型,可以用这个接口来进行预测。
无监督学习:它是用来对数据进行聚类分析,即把新数据归入某个聚类里。
predict_proba()的接口
属于有监督学习,在无监督学习中没有,主要作用为:用来输出一个待预测的数据属于各种的可能性
和上面predict()接口的区别为:一个返回可能性的最大值,一个返回所有的可能性的值
scroe ()接口
几乎所有的模型都提供了此接口
作用为:评价一个模型的好坏,得分越高说明此模型越好(当然并不是所有的问题都只有准确度这个评价标准
3.模型检验
对于模型检验,即为机器学习一个重要的部分,这部分主要是对于我们训练出来的模型进行模型检测
检测方法:利用一些“陌生”的数据,用此模型进行预测,将预测出来的结果与实际对比,预测出的准确性决定了模型的好坏
4.模型选择
模型的选择对于一个机器学习的应用开发来说是最重要的,选择一个正确的模型进行训练就说明你已经完成了一半,另一半为进行模型调参(个人觉得)。对于模型选择,根据要处理的问题性质,数据是否经过标记?数据规模多大?等等这些问题,可以对模型有个初步的选择,最后根据对多个模型进行训练,最后得出模型预测最好的一个即为最合适的模型。
参考书籍:《scikit-learn机器学习:常用算法原理及编程实战》