鳶尾花數據集可視化


數據集描述:其包含120條訓練集和30條測試集

 

 對鳶尾花的屬性和標簽之間的可視化操作:

 1 import tensorflow as tf
 2 import pandas as pd
 3 import numpy as np
 4 import matplotlib.pyplot as plt
 5 
 6 #鳶尾花數據集
 7 
 8 TRAIN_URL = 'http://download.tensorflow.org/data/iris_training.csv' #數據下載地址
 9 train_path = tf.keras.utils.get_file(TRAIN_URL.split('/')[-1], TRAIN_URL)  #下載數據,並返回路徑(默認路徑)
10 names = ['花萼長度','花萼寬度','花瓣長度','花瓣寬度','品種']  #自定義列標題
11 df_iris = pd.read_csv(train_path,header=0, names=names) #names指定的列標題會替代header指定的列標題
12 #df_iris.head()   #讀取前5行,參數n可以指定行數   tail(n)函數讀取后n行數據
13 
14 #可視化
15 fig = plt.figure('Iris Data', figsize=(15,15))
16 plt.suptitle('鳶尾花數據集\nBule->Setosa | Red->Versicolor | Green->Virginica', fontsize = 30)
17 
18 for i in range(4):
19     for j in range(4):
20         plt.subplot(4,4, 4*i+(j+1))  #創建4*4的子畫布,一行一行的循環畫,其中每個子圖的索引為 4*i+(j+1)
21         if i ==j:
22             plt.text(0.3,0.5, names[i], fontsize = 25) #正對角線上的子圖只顯示標簽
23         else:
24             plt.scatter(np.array(df_iris)[:,j], np.array(df_iris)[:,i], c=np.array(df_iris)[:,4], cmap = 'brg')
25         if i == 0:
26             plt.title(names[j], fontsize= 20)  #為了美觀,把title當X軸標簽
27         if j == 0:
28             plt.ylabel(names[i], fontsize = 20) #設置Y軸標簽
29 
30 plt.tight_layout(rect=[0,0,1,0.9])  #自動調整子圖布局,設置0.9是為了給全局標題一點空間,避免擁擠
31 plt.savefig('Iris.jpg')
32 plt.show()

tf.keras.utils.get_file函數用於下載數據集,其參數介紹如下

 

 

這里說明一下plt.scatter()函數中的參數c和 cmap,c用於指定一個有重復列表,cmap是一個顏色序列。

例如c=[0,1,2,0,1,2,0,1,2],cmap = ‘brg’ ,那么在繪圖的過程中cmap中的顏色序列就會對c列表中值進行配對,最后0->b, 1->r, 2->g

所以c中的序列畫出來的顏色就是[b,r,g,b,r,g,b,r,g]

 


免責聲明!

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



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