使用sklearn-SGDClassifier分类mnist数据集中‘5‘,并使用交叉验证评估模型

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import cross_val_score

mnist = fetch_openml('mnist_784', version=1, parser='auto')

X, y = mnist['data'], mnist['target']

X = np.array(X)
y = np.array(y)

X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]

shuffle_index = np.random.permutation(60000)
X_train, y_train = X_train[shuffle_index], y_train[shuffle_index]

y_train_5 = (y_train=='5')
y_test_5 = (y_test=='5')

clf = SGDClassifier(random_state=42)
clf.fit(X_train,y_train_5)

result_X_66666 = clf.predict([X[66666]])
print(result_X_66666)

image = X[66666].reshape(28, 28)
plt.imshow(image, cmap='gray') # 图像以灰度模式显示
plt.show()

result_cross_val_score= cross_val_score(clf, X_train, y_train_5, cv=3)
print(result_cross_val_score)

1. 下图报错也许是因为尝试使用shuffle_index数组来索引X_train\[\]DataFrame时,该索引数组中的值被误解。将X和y转换为numpy数组,然后再进行随机洗牌操作,解决报错。

X = np.array(X)

y = np.array(y)

2. shuffle_index = np.random.permutation(60000)

random.permutation函数生成一个长度为60000的随机排列数组。这个数组shuffle_index可以用于打乱数据集,确保数据的随机性。

3. 以图片形式显示X66666

image = X66666.reshape(28, 28)

plt.imshow(image, cmap='gray')

plt.show()

4. clf = SGDClassifier(random_state=42)

random_state参数是许多算法中用于控制随机数生成的种子值的一个常见参数。通过设置random_state为一个固定的整数值,可以确保代码的随机性部分是可重复的,这意味着每次运行代码时,如果输入数据不变,使用相同的random_state值将得到完全相同的结果。

5. 结果​​​​​​​

6. 学习视频

4-交叉验证实验分析_哔哩哔哩_bilibili

相关推荐
YOLO数据集集合2 小时前
蚊子目标检测数据集 | 蚊虫检测 病媒生物 智能硬件 轻量化模型 目标检测 YOLO格式 深度学习数据集9015期
深度学习·yolo·目标检测·计算机视觉·分类·智能硬件·蚊子识别
YOLO数据集集合3 小时前
煤炭质量目标检测数据集 、| 煤炭检测 工业视觉 质量分级 异物检测 煤炭异物8005期
人工智能·yolo·目标检测·计算机视觉·分类·煤炭检测数据集·异物数据集
qq_25294131684 小时前
窗户清洁检测数据集 | 窗户清洁检测 建筑运维 二分类任务 YOLO格式 深度学习数据集9019期
运维·人工智能·深度学习·yolo·目标检测·分类·窗户清晰度
qq_25294131684 小时前
航拍垃圾堆检测数据集 | 航拍垃圾检测 固废管理 无人机巡检 环保监测9025期
yolo·目标检测·计算机视觉·分类·无人机·垃圾检测·垃圾
AI棒棒牛1 天前
YOLO26最新创新改进系列:Dirichlet 分类证据 + DER 连续框不确定性,独家超强创新!
人工智能·分类·数据挖掘
段一凡-华北理工大学1 天前
高炉炉况智能诊断与预警实战~系列文章14:机器学习炉况分类:样本构建、类别不平衡与模型选型
大数据·人工智能·机器学习·分类·高炉智能化·炉况诊断·炉况分类
hongyucai1 天前
通用分类算法的建模过程
人工智能·分类·数据挖掘
YOLO数据集集合1 天前
建筑物损伤分割与检测数据集 | 建筑损伤检测 结构病害 实例分割 混凝土缺陷
yolo·目标检测·计算机视觉·分类·建筑缺陷·建筑裂缝·建筑外立面
jay神2 天前
YOLO模型什么时候应该加注意力机制?
人工智能·深度学习·yolo·分类·回归·毕业设计
魔镜er2 天前
10-CNN案例-图像分类
人工智能·分类·cnn