1 # -*- coding: utf-8 -*-
2
3 '''
4 支持向量机分类模型:
5 支持向量机分类 是根据训练数据样本的分布,搜索所有可能的的线性分类器中最佳的一个。
6 '''
7 #导入手写字体数字加载器
8 from sklearn.datasets import load_digits
9 #导入用来分割数据的函数train_test_split
10 from sklearn.model_selection import train_test_split
11 from sklearn.preprocessing import StandardScaler
12 #导入支持向量分类模型
13 from sklearn.svm import LinearSVC
14 from sklearn.metrics import classification_report
15 digits = load_digits()
16
17 #print(digtis.data.shape)
18
19 x_train, x_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.25, random_state=33)
20 #print(x_train.shape)
21 #print(y_train.shape)
22
23 #对数据x_train,y_train 的特征数据进行标准化
24 ss = StandardScaler()
25 x_train = ss.fit_transform(x_train)
26 x_test = ss.transform(x_test)
27
28 lsvc = LinearSVC()
29
30 lsvc.fit(x_train, y_train)
31
32 # 使用训练好的模型预测
33 y_predict = lsvc.predict(x_test)
34 # print(y_predict)
35
36 #使用模型自带函数进行准确性测试
37 print('支持向量机分类模型准确性:%f' % lsvc.score(x_test, y_test))
38 #模型的回归率 精准率
39 print(classification_report(y_test, y_predict, target_names=digits.target_names.astype(str)))