使用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. 以图片形式显示X[66666]

image = X[66666].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

相关推荐
Rabbit_QL4 小时前
sklearn Pipeline:特征工程和建模流水线
人工智能·python·sklearn
Ahtacca10 小时前
基于决策树算法的动物分类实验:Mac环境复现指南
python·算法·决策树·机器学习·ai·分类
李元豪10 小时前
3分分类计算差值
人工智能·分类·数据挖掘
刘永鑫Adam11 小时前
BiB | 蒋超实验室开发 Kun-peng(鲲鹏):实现可扩展且准确的泛域宏基因组分类
人工智能·算法·机器学习·分类·数据挖掘
AidLux13 小时前
手机上AidLux2.1运行模型广场的图像分类模型
智能手机·分类·数据挖掘
weixin_446934031 天前
多分类暴露变量的亚组分析森林图功能上线了,R语言搞不了风暴统计平台一键搞定
人工智能·机器学习·分类·数据挖掘·r语言
roman_日积跬步-终至千里1 天前
【系统架构设计师-案例题(5)】人工智能 · 参考答案与解析(按分类)
人工智能·分类·系统架构
披着羊皮不是狼1 天前
基于 CNN 的图像分类算法变迁史(概述)
人工智能·分类·cnn
热爱生活的猴子2 天前
什么情况是过拟合,什么情况判定为欠拟合,什么情况下判定微调后效果不如预训练,什么情况下说明是分类边界模糊,什么是权重过大导致过拟合
人工智能·机器学习·分类
nap-joker3 天前
TIP:表格图像预训练模型用于不完整数据的多模态分类
人工智能·分类·数据挖掘·表格-影像融合·不完整数据