问题遇到的现象和发生背景
学校要求,用python一次性识别多个手写数字,但是我只会用k近邻算法识别单个数字,并且没有多个数字的数据集,只有0-9的 数据集
问题相关代码,请勿粘贴截图
from PIL import Image
img = Image.open('手写3.png')
img = img.resize((32,32))
img= img.convert('L')
import numpy as np
img_new = img.point(lambda x: 0 if x > 128 else 1)
arr = np.array(img_new)
arr_new = arr.reshape(1,-1)
import pandas as pd
df = pd.read_excel('手写字体识别.xlsx')
X=df.drop(columns='对应数字')
y=df['对应数字']
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=1)
from sklearn.neighbors import KNeighborsClassifier as KNN
knn = KNN(n_neighbors=5)
knn.fit(X_train,y_train)
y_pred = knn.predict(X_test)
a=pd.DataFrame()
a['预测值']=list(y_pred)
a['实际值']=list(y_test)
answer = knn.predict(arr_new)
print('手写数字识别为'+str(answer[0]))