深度学习笔记:下载鸢尾花数据集,并展示所有的属性

背景:

深度学习课程作业。通过此作业,可了解tensorflow、matplotlib、pandas和numpy。可学习到matplot画图及细节设计,如图的颜色、字体大小、循环画图方法等

代码:

import tensorflow as tf
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)  # 下载鸢尾花数据集,命名,并返回本底路径

name_iris=['SepalLength','SepalWidth','PetalLength','PetalWidth','Spicies']
df_iris = pd.read_csv(train_path,header=0,names=name_iris)

iris = np.array(df_iris)    # 将pandas的dataFrame转成numpy数组
plt.figure(figsize=(8,7))
plt.rcParams.update({'font.size':8})
for i in range(4):
    for j in range(4):
        plt.subplot(4,4,i*4+j+1) # 句柄
        # axes[0, 0].set_title('Default', fontsize=8)
        if i == j:
            plt.hist(iris[:,i],align='mid',color=(31/255,130/255,180/255),edgecolor='k')
            if j == 0:  # 如果在最左侧,就添加ylabel。其他位置的label不添加
                plt.ylabel(name_iris[i],fontsize=8) 
            if i == 0:  # 如果在最上侧,就添加title。其他位置不添加
                plt.title(name_iris[i],fontsize=8)
        else:
            plt.scatter(iris[:,j],iris[:,i],c=iris[:,4],cmap='brg', s=4)
            if j == 0:
                plt.ylabel(name_iris[i],fontsize=8)
            if i == 0:
                plt.title(name_iris[i],fontsize=8)
plt.suptitle("Anderson's Iris Data Set\n(BUle->Setosa | Red->Versicolor | Green->Virginica)")           
plt.tight_layout(rect=[0.05,0,0.95,0.97]) # 不包含suptitle
plt.show()

输出结果:

深度学习笔记:下载鸢尾花数据集,并展示所有的属性_第1张图片

你可能感兴趣的:(python,tensorflow,numpy)