from sklearn import datasets from sklearn import svm iris=datasets.load_iris() digits=datasets.load_digits() #选择SVM模型 svm_classifier=svm.SVC(gamma=0.0001,C=100) #手动划分训练集,测试集 n_test=100#测试数量 train_x=digits.data[:n_test,:] train_y=digits.target[:n_test] test_x=digits.data[n_test:,:] true_y=digits.target[n_test:] #训练模型 svm_classifier.fit(train_x,train_y) #测试模型 y_predict=svm_classifier.predict(test_x) #查看结果 from sklearn.metrics import accuracy_score print("预测标签:",y_predict) print("真实标签:",true_y) print(accuracy_score(y_predict,true_y)) #保存模型 import pickle with open("H:/pythonfigure/svm_predict.pkl","wb") as file:#必须二进制写入 pickle.dump(svm_classifier,file) import numpy as np #重新加载模型进行预测 with open("H:/pythonfigure/svm_predict.pkl","rb") as file:#必须以二进制读 model=pickle.load(file) #随机选取样本测试 random_sample_index=np.random.randint(0,1796,5) print(random_sample_index) random_sample=digits.data[random_sample_index,:]#特征 random_targets=digits.target[random_sample_index]#标签 random_predict=model.predict(random_sample) print(random_predict) print(random_targets)
用SVM识别手写体案例
最新推荐文章于 2020-08-18 14:05:17 发布