从该库的名字可以看出,这是一个机器学习相关的库。不错,Scikit-Learn是Python下强大的机器学习工具包,它提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测和模型分析等。
Scikit-Learn依赖于NumPy、SciPy和 Matplotlib,因此,只需要提前安装好这几个库,然后安装Scikit-Learn就基本上没有什么问题了,安装方法和前几节一样,要不就是pip install scikit-learn安装,要不就是下载源码自己安装。
创建一个机器学习的模型很简单:
# -*- coding: utf-8 -*- from sklearn.linear_model import LinearRegression #导入线性回归模型 model = LinearRegression() #建立线性回归模型 print(model)
1)所有模型提供的接口有:
model.fit():训练模型,对于监督模型来说是fit(X, y),对于非监督模型是fit(X)。
2)监督模型提供的接口有:
model.predict(X_new):预测新样本
model.predict_proba(X_new):预测概率,仅对某些模型有用(比如LR)
model.score():得分越高,fit越好
3)非监督模型提供的接口有:
model.transform():从数据中学到新的“基空间”。
model.fit_transform():从数据中学到新的基并将这个数据按照这组“基”进行转换。
Scikit-Learn本身提供了一些实例数据,比较常见的有安德森鸢尾花卉数据集、手写图像数据集等。我们有一百五十个鸢尾花的一些尺寸的观测值:萼片长度、宽度,花瓣长度和宽度。还有它们的亚属:山鸢尾(Iris setosa)、变色鸢尾(Iris versicolor)和维吉尼亚鸢尾(Iris virginica)。
# -*- coding: utf-8 -*- from sklearn import datasets #导入数据集 iris = datasets.load_iris() #加载数据集 print(iris.data.shape) #查看数据集大小 from sklearn import svm #导入SVM模型 clf = svm.LinearSVC() #建立线性SVM分类器 clf.fit(iris.data, iris.target) #用数据训练模型 clf.predict([[ 5.0, 3.6, 1.3, 0.25]]) #训练好模型之后,输入新的数据进行预测 clf.coef_ #查看训练好模型的参数
参考链接:
http://scikit-learn.org/。