读取sklearn中mnist_784离线数据集,并展示像素特征重要性热力图

“mnist_784”离线数据集:有监督的手写数字数据集

一、读取“mnist_784”离线数据集,并展示一个案例

import matplotlib.pyplot as plt
from scipy.io import loadmat

if __name__ == '__main__':
    mnist = loadmat('C:\\Users\\yunyun\\datasets\\mnist-original.mat')
    X = mnist['data'].T
    plt.imshow(X[10000].reshape(28, 28))
    plt.show()

展示结果如下图:

二、对“mnist_784”数据集进行随机森林集成分析

import matplotlib
import matplotlib.pyplot as plt
from scipy.io import loadmat
from sklearn.ensemble import RandomForestClassifier

if __name__ == '__main__':
    mnist = loadmat('C:\\Users\\yunyun\\datasets\\mnist-original.mat')
    rf_clf = RandomForestClassifier(n_estimators=500, n_jobs=-1)
    rf_clf.fit(mnist['data'].T, mnist['label'].reshape(70000, ))

    # 绘制热力图
    image = rf_clf.feature_importances_.reshape(28, 2
### 回答1: 下面是用 matplotlib 库可视化 sklearnmnist_784 数据集的代码示例: ```python from sklearn.datasets import fetch_openml import matplotlib.pyplot as plt # 加载数据集 mnist = fetch_openml('mnist_784') X, y = mnist['data'], mnist['target'] # 选取一张片进行可视化 some_digit = X[0] some_digit_image = some_digit.reshape(28, 28) plt.imshow(some_digit_image, cmap=plt.cm.binary) plt.show() ``` 注意,这里的mnist是一个字典类型,X是片的数组,y是标签的数组。 这里只是取了数据集里的第一张片来可视化,可以使用循环取出数据集里的所有片来进行可视化。 ### 回答2: import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import fetch_openml # 加载MNIST数据集 mnist = fetch_openml('mnist_784') # 获取像和标签数据 X = mnist.data y = mnist.target # 随机选择几张像进行可视化展示 n_samples = 5 random_index = np.random.randint(0, len(X), n_samples) # 创建子,按行列数排列 fig, axes = plt.subplots(nrows=1, ncols=n_samples, figsize=(10, 3)) # 遍历选取的像索引 for i, ax in enumerate(axes): # 获取像数据和对应标签 image = X[random_index[i]].reshape(28, 28) label = y[random_index[i]] # 展示像 ax.imshow(image, cmap='gray') ax.set_title(f"Label: {label}") ax.axis('off') # 展示像 plt.tight_layout() plt.show() ### 回答3: sklearnmnist_784数据集是一个经典的手写数字识别数据集,包含了来自0到9的70,000个手写数字片,每个片的尺寸为28x28像素。为了可视化这个数据集,可以使用Python中的matplotlib库。 首先,我们需要导入所需的库: ```python import matplotlib.pyplot as plt from sklearn.datasets import fetch_openml ``` 接下来,我们可以通过调用`fetch_openml`函数来加载mnist_784数据集: ```python mnist = fetch_openml('mnist_784') ``` 然后,我们可以使用`data`属性获取所有的片数据,使用`target`属性获取对应的标签数据: ```python images = mnist['data'] labels = mnist['target'] ``` 为了可视化其中的一个片,我们可以使用`imshow`函数: ```python plt.imshow(images[i].reshape(28, 28), cmap='gray') plt.title('Label: ' + labels[i]) plt.show() ``` 其中,`i`代表要可视化的片索引。通过`reshape(28, 28)`,我们将一维的片数据转换为二维的矩阵。`cmap='gray'`用于指定颜色映射为灰度。 如果我们想要可视化多个片,我们可以使用`subplot`函数将多个片排列在一个中: ```python num_images = 10 # 可视化的片数量 fig, axes = plt.subplots(1, num_images, figsize=(20, 4)) for i in range(num_images): axes[i].imshow(images[i].reshape(28, 28), cmap='gray') axes[i].set_title('Label: ' + labels[i]) plt.show() ``` 通过指定`num_images`,我们可以设置可视化的片数量。`figsize=(20, 4)`用于设置整个的尺寸。使用循环来可视化多个片,为每个片添加对应的标签。 这样,我们就可以使用上述的代码对sklearnmnist_784数据集进行可视化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值