4条回答 默认 最新
- Bryce-Lin 2021-12-22 03:40关注
你试试这个呢
import os import cv2 import matplotlib.pyplot as plt import numpy as np from sklearn import datasets def getdata(_dir): images= [] labels = [] for cls in os.listdir(_dir): cls_dir = os.path.join(_dir,cls) for file in os.listdir(cls_dir ): img = cv2.imread(os.path.join(cls_dir,file ),-1) images.append(img) labels.append(int(cls)) return images,labels _dir_train=r"" _dir_test=r"" Xtrain,Ytrain = getdata(_dir_train) Xtest,Ytest= getdata(_dir_test) images_and_labels=list(zip(Xtrain,Ytrain)) plt.figure(figsize=(8, 6)) for index, (image, label) in enumerate(images_and_labels[:8]): plt.subplot(2, 4, index + 1) plt.axis('off') plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest') plt.title('Digit: %i' % label, fontsize=20); from sklearn import svm clf = svm.SVC(gamma=0.001, C=100., probability=True) clf.fit(Xtrain, Ytrain); from sklearn.metrics import accuracy_score Ypred = clf.predict(Xtest); accuracy_score(Ytest, Ypred)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报这回应该可以了
import os import cv2 import matplotlib.pyplot as plt import numpy as np from sklearn import datasets def getdata(_dir): images= [] labels = [] for cls in os.listdir(_dir): cls_dir = os.path.join(_dir,cls) for file in os.listdir(cls_dir ): img = cv2.imread(os.path.join(cls_dir,file ),-1) images.append(img) labels.append(int(cls)) return np.array(images),np.array(labels) _dir_train=r"E:\test" _dir_test=r"E:\test" Xtrain,Ytrain = getdata(_dir_train) Xtest,Ytest= getdata(_dir_test) images_and_labels=list(zip(Xtrain,Ytrain)) plt.figure(figsize=(8, 6)) for index, (image, label) in enumerate(images_and_labels[:8]): plt.subplot(2, 4, index + 1) plt.axis('off') plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest') plt.title('Digit: %i' % label, fontsize=20); from sklearn import svm clf = svm.SVC(gamma=0.001, C=100., probability=True) h=Xtrain.shape[1] w=Xtrain.shape[2] Xtrain=Xtrain.reshape(-1,h*w) Ytrain=Ytrain.reshape(-1,h*w) clf.fit(Xtrain, Ytrain); from sklearn.metrics import accuracy_score Ypred = clf.predict(Xtest); accuracy_score(Ytest, Ypred)
赞回复展开全部17条评论