python代码实现K-NN算法,找出每一张图片对应的数字
时间: 2024-05-14 14:19:00 浏览: 66
以下是一个简单的 Python 代码实现 K-NN 算法,用于识别手写数字图片:
```python
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
# 加载手写数字数据集
digits = load_digits()
# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2, random_state=42)
# 创建 K-NN 分类器
knn = KNeighborsClassifier(n_neighbors=5)
# 使用训练集训练 K-NN 分类器
knn.fit(X_train, y_train)
# 使用测试集评估 K-NN 分类器的准确率
accuracy = knn.score(X_test, y_test)
print("Accuracy:", accuracy)
# 用 K-NN 分类器预测测试集中的每一个样本对应的数字
y_pred = knn.predict(X_test)
print("Predictions:", y_pred)
```
代码中使用 `load_digits` 函数加载手写数字数据集,将其拆分为训练集和测试集。然后创建 K-NN 分类器,使用训练集进行训练,使用测试集评估分类器的准确率,并使用分类器对测试集中的每一个样本进行预测。
阅读全文