用knn实现手写体识别
时间: 2023-12-04 15:05:40 浏览: 127
以下是使用 k-近邻算法(k-NN)实现手写体识别的 Python 代码:
```python
import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载手写数字数据集
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)
# 使用 k-NN 算法进行训练和预测
clf = KNeighborsClassifier(n_neighbors=5)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)
```
代码中使用了 scikit-learn 库中的 KNeighborsClassifier 类,它是一个 k-NN 分类器,可用于手写数字识别。代码首先加载手写数字数据集,然后将数据集划分为训练集和测试集。接着使用 KNeighborsClassifier 进行训练和预测,并计算准确率。
阅读全文