大家好我是木木,只从2022年11月30日发布ChatGPT后,大模型迅速火热起来,人工智能作为当下最火的行业之一,很多人对它充满了好奇,接下来做个好玩的东西,使用KNN实现预测手写数字并将预测结果和实际图像画出来。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsRegressor
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split


# 加载手写数字数据集
X, y  = load_digits(return_X_y=True)


# 切分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=3)

# 建模并训练
knn = KNeighborsRegressor().fit(X_train, y_train)


# 预测并评估模型性能
y_pred = knn.predict(X_test)
accuracy = np.mean(y_pred == y_test)
print(f"Accuracy: {accuracy}")


images_and_predictions = list(zip(X_test[:50], y_pred[:50]))

plt.figure(figsize=(10, 5), dpi=100)

for index, (image, prediction) in enumerate(images_and_predictions):

    plt.subplot(5, 10, index + 1)

    plt.axis("off")

    plt.imshow(image.reshape(8, 8), cmap=plt.cm.gray_r, interpolation="nearest")

    plt.title(f"Prediction: {prediction}", fontsize=6)
plt.tight_layout()  # 自动调整子图布局,避免重叠
plt.show()

效果展示:

如图:蓝色框是预测准确率,红色框是预测的结果,绿色框是实际值

 

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐