一、机器学习问题
scikit-learn 是一个比较流行的开源机器学习库。它支持许多分类,回归,聚类算法,包括支持向量机,逻辑回归,朴素贝叶斯,随机森林,梯度boosting,k-means 和 DBSCAN,并且可以与 Numpy 与 SciPy 库进行交互。
二、加载示例数据集
鸢尾花卉数据集
安德森鸢尾花卉数据集是一类多重变量分析的数据集,其数据集包含了150个样本,都属于鸢尾属下的三个亚属,分别是山鸢尾、变色鸢尾和维吉尼亚鸢尾。四个特征被用作样本的定量分析,它们分别是花萼和花瓣的长度和宽度。
from sklearn import datasets
iris = datasets.load_iris()
#数据存储在 .data 成员中,它是一个 (n_samples, n_features) numpy 数组
iris.data.shape
=>(150, 4)
#一个样本的类别存储在 .target 属性中,它是一个一维数组
iris.target.shape
=>(150,)
#显示数据集中有哪些类别
import numpy as np
np.unique(iris.target)
=>
array([0, 1, 2]) #共三类,分别用 0,1,2 表示
手写数字数据集
手写数字数据集包含了来自 44 个作者的 250 个样本,通常被用作手写数字预测。
#加载数据集
digits = datasets.load_digits()
#查看底层数据
print(digits.data)
#查看数据集目标值
digits.target
三、学习与预测
以使用手写数字数据集做数字识别为例, 需要将评估函数与数据进行拟合来进行预测。在 scikit-learn 中,评估函数(estimator)是一个 Python 对象,它实现了 fit(X, y) 与 predict(T) 方法。
#类 sklearn.svm.