码迷,mamicode.com
首页 > 其他好文 > 详细

鸢尾花数据集可视化

时间:2020-03-24 18:34:23      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:训练   data   pat   spl   标题   flow   pyplot   mamicode   数据下载   

数据集描述:其包含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]

技术图片

 

鸢尾花数据集可视化

标签:训练   data   pat   spl   标题   flow   pyplot   mamicode   数据下载   

原文地址:https://www.cnblogs.com/GouQ/p/12560588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!