Python機器學習(二十八)Sklearn 使用matplotlib可視化數據


digits是一個手寫數字的數據集,我們可以使用Python的數據可視化庫,比如matplotlib,來查看這些手寫數字圖像。

示例

顯示digits.images中的手寫數字圖像。

from sklearn import datasets

# 加載 `digits` 數據集
digits = datasets.load_digits()

# 導入 matplotlib
import matplotlib.pyplot as plt

# 設置圖形大小(寬、高)以英寸為單位
fig = plt.figure(figsize=(6, 6))

# 設置子圖形布局,如間隔之類... 
fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.05)

# 對於64幅圖像中的每一幅
for i in range(64):
    # 初始化子圖:在8×8的網格中,在第i+1個位置添加一個子圖
    ax = fig.add_subplot(8, 8, i + 1, xticks=[], yticks=[])
    # 在第i個位置顯示圖像
    ax.imshow(digits.images[i], cmap=plt.cm.binary, interpolation='nearest')
    # 用目標值標記圖像
    ax.text(0, 7, str(digits.target[i]))

# 顯示圖形
plt.show()

輸出

圖

我們也可以使用digits.target中的目標值標記digits.images圖像格式的樣本數據,並顯示。

示例

顯示digits.images中的前8個手寫數字圖像,並用對應的目標值標記圖像。

from sklearn import datasets

# 加載 `digits` 數據集
digits = datasets.load_digits()

# 導入 matplotlib
import matplotlib.pyplot as plt 

# 把圖像和目標標簽組合成一個列表
images_and_labels = list(zip(digits.images, digits.target))

# 對於列表(前8項)中的每個元素
for index, (image, label) in enumerate(images_and_labels[:8]):
    # 在第i+1個位置初始化一個2X4的子圖
    plt.subplot(2, 4, index + 1)
    # 不要畫坐標軸
    plt.axis('off')
    # 在所有子圖中顯示圖像
    plt.imshow(image, cmap=plt.cm.gray_r,interpolation='nearest')
    # 為每個子圖添加一個標題(目標標簽)
    plt.title('Training: ' + str(label))

# 顯示圖形
plt.show()

顯示:

圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM