案例02:邮政编码手写数字识别 SVC支持向量机分类器

#案例02:邮政编码手写数字识别 SVC支持向量机分类器

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
from sklearn.svm import LinearSVC

digits = load_digits()

print(digits.data.shape)

# 从 sklearn.cross_validation 中导入 train_test_split 用于数据分割

# 从使用 train_test_split,利用随机种子 random_state 采样 25% 的数据作为测试数据集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.25, random_state=33)

print(y_train.shape)

# 从 sklearn.preprocessing 里选择导入数据标准化模块



# # 创建 数据标准化对象
# ss = StandardScaler()
# # 标准化训练数据集
# X_train = ss.fit_transform(X_train)
# # 标准化测试数据集
# X_test = ss.transform(X_test)


# 使用SVC支持向量机分类器对象
lsvc = LinearSVC()
# 模型训练
lsvc.fit(X_train, y_train)
# 预测结果储存在变量predict中
score=lsvc.score(X_test,y_test)
print(score)

result = lsvc.predict(X_test)
report=classification_report(y_test,result,target_names=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
print(report)
new_data = [[0,0,7,15,13,1,0,0,0,8,13,6,15,4,0,0,0,2,1,13,13,0,0,0,2,15,11,1,0,0,0,0,0,0,1,12,12,1,0,0,0,0,0,1,10,8,0,0,0,8,4,5,14,9,0,0,0,7,1,3,13,9,0,0]]
result=lsvc.predict(new_data)

print(result)

猜你喜欢

转载自blog.csdn.net/huanghong6956/article/details/85709582