基于KNN手写识别系统的代码
时间: 2023-08-08 07:14:09 浏览: 105
基于KNN的数字识别系统代码大全.docx
以下是一个基于KNN算法的手写识别系统的简单代码实现,供您参考:
```
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 加载数据集
digits = load_digits()
X = digits.data
y = digits.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练KNN模型
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
# 预测测试集
y_pred = knn.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
# 可视化预测结果
fig, axes = plt.subplots(nrows=2, ncols=5, figsize=(10, 5))
for i, ax in enumerate(axes.flat):
ax.imshow(X_test[i].reshape(8, 8), cmap='gray')
ax.set(title=f"True:{y_test[i]}, Pred:{y_pred[i]}")
plt.show()
```
该代码使用scikit-learn库实现了KNN算法,并使用MNIST手写数字数据集进行了训练和测试。在测试集上,输出了模型的准确率,并可视化了一些测试样本的预测结果。
阅读全文