1
2
3
from sklearn import datasets
# 样例数据:鸢尾花
iris = datasets.load_iris()
1
2
3
# 150个鸢尾花观察值指定了一些测量:花萼宽带、花萼长度、花瓣宽度和花瓣长度,
# 以及对应的子类:Iris setosa、Iris versicolor和Iris virginica。
iris.data.shape
(150, 4)
1
iris.data[0] 
array([ 5.1,  3.5,  1.4,  0.2])
1
2
# 每个观察的类别
iris.target.shape
(150,)
1
iris.target[120] # 某个样例的类别
0
1
iris.target[122] # 某个样例的类别
2
1
iris.data[122] # 该样例的数据
array([ 7.7,  2.8,  6.7,  2. ])
1
2
import numpy as np
np.unique(iris.target) # 一共三种类型
array([0, 1, 2])
1
2
3
4
5
6
7
# 学习和预测
from sklearn import svm
clf = svm.LinearSVC()
clf.fit(iris.data, iris.target) # 从数据学习

# 预测一个数据
clf.predict([[ 5.0,  3.6,  1.3,  0.25]])
array([0])
1
2
# 预测数据
clf.predict([[7.7,  2.8,  6.7,  2.2]]) 
array([2])
1
2
# 训练之后的模型数据
clf.coef_
array([[ 0.18424404,  0.45123269, -0.80794054, -0.45071332],
       [ 0.05184218, -0.89426264,  0.40510244, -0.93758469],
       [-0.85082544, -0.98673222,  1.38085117,  1.86541325]])