1.数据集:我们选用具有150个样本,每个样本包含4个特征的鸢尾花数据集(iris),数据集通过对花萼长度、花萼宽度、花瓣长度、花瓣宽度4个属性进行判别,将鸢尾花分为Setosa、Versicolour、Virginica三种。
2.完整代码:
# encoding: utf-8
from sklearn import datasets
from sklearn.cross_validation import train_test_split
from sklearn.svm import SVC
from numpy import *
# 加载数据集
iris_dataset = datasets.load_iris()
iris_data = iris_dataset.data
iris_target = iris_dataset.target
print shape(iris_data) # 查看样本及特征数量
print shape(iris_target)
# 将数据集划分为训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(iris_data, iris_target, test_size=0.2)
# 选择SVC(support vector classification)模型
model = SVC(kernel='rbf')
model.fit(x_train, y_train)
print model.support_vectors_ # 输出支持向量
print model.support_
print model.n_support_ # 输出每个分类支持向量的个数
# 用训练好的模型对测试集进行预测
prediction = model.predict(x_test)
print prediction
# 统计分类的正确率
count_r = sum(prediction=