当前位置:   article > 正文

对鸢尾花数据集进行可视化分析(比较全面)_鸢尾花数据可视化评价

鸢尾花数据可视化评价

  1. #首先创造python运行的所需要的库
  2. import pandas as pd
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. import seaborn as sns
  6. import tensorflow as tf
  7. %matplotlib inline
  8. plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体
  9. plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
  1. #下载鸢尾花数据集的数据,并读取
  2. url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
  3. names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
  4. dataset = pd.read_csv(url, names=names)

有了鸢尾花数据集的数据,就可以进行可视化分析了。

  1. #数据直方图histograms
  2. dataset.hist()
  3. #数据散点图
  4. dataset.plot(x='sepal-length', y='sepal-width', kind='scatter') #散点图,x轴表示sepal-length花萼长度,y轴表示sepal-width花萼宽度
  5. #KDE图,KDE图也被称作密度图(Kernel Density Estimate,核密度估计)
  6. dataset.plot(kind='kde')
  7. #kind='box'绘制箱图,包含子图且子图的行列布局layout为2*2,
  8. # 子图共用x轴、y轴刻度,标签为False
  9. dataset.plot(kind='box', subplots=True,
  10. layout=(2,2), sharex=False, sharey=False)
  11. #平行坐标图
  12. parallel_coordinates(iris, 'class')

以上是较为简单的数据可视化分析

然后是三维 散点图

  1. from sklearn import datasets
  2. from sklearn import svm
  3. from sklearn.decomposition import PCA
  4. from matplotlib import pyplot as plt
  5. from matplotlib import patches as pch
  6. from mpl_toolkits.mplot3d import Axes3D
  7. plt.rcParams['font.sans-serif']=['SimHei']#设置正常的中文字体
  8. v_iris=datasets.load_iris()#加载数据赋值给变量
  9. x=v_iris.data[:1]#取数据集第0列,表示萼片的长度,[:0]就是所有行的第0个数据
  10. y=v_iris.data[:2]
  11. species=v_iris.target
  12. v_xreuced=PCA(n_components=3).fit_transform(v_iris.data)
  13. v_fig=plt.figure()
  14. v_ax=Axes3D(v_fig)
  15. v_ax.set_title('鸢尾花降维分类',size=16)
  16. v_ax.scatter(v_xreuced[:,0],v_xreuced[:,1],v_xreuced[:,2],c=species)
  17. v_ax.set_xlabel('第一特征向量')
  18. v_ax.set_ylabel('第二特征向量')
  19. v_ax.set_zlabel('第三特征向量')
  20. v_ax.w_xaxis.set_ticklabels(())
  21. v_ax.w_yaxis.set_ticklabels(())
  22. v_ax.w_zaxis.set_ticklabels(())
  23. plt.show()

散点图矩阵

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import tensorflow as tf
  4. import pandas as pd
  5. plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体
  6. plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
  7. # 下载鸢尾花数据集
  8. TRAIN_URL = r'http://download.tensorflow.org/data/iris_training.csv'
  9. train_path = tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)
  10. # 加载鸢尾话数据集
  11. names = ['Sepal length','Sepal width','Petal length','Petal width','Species']
  12. # 选择第一行作为列标题,然后再用names作为新的列标题覆盖掉原先的列标题
  13. df_iris = pd.read_csv(train_path,header=0,names=names)
  14. iris_data = df_iris.values
  15. plt.figure(figsize=(15,15),dpi=60)
  16. for i in range(4):
  17. for j in range(4):
  18. plt.subplot(4,4,i*4+j+1)
  19. if i==0:
  20. plt.title(names[j])
  21. if j==0:
  22. plt.ylabel(names[i])
  23. if i == j:
  24. plt.text(0.3,0.4,names[i],fontsize = 15)
  25. continue
  26. plt.scatter(iris_data[:,j],iris_data[:,i],c= iris_data[:,-1],cmap='brg')
  27. plt.tight_layout(rect=[0,0,1,0.9])
  28. plt.suptitle('鸢尾花数据集\nBule->Setosa | Red->Versicolor | Green->Virginica', fontsize = 20)
  29. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/402225
推荐阅读
相关标签
  

闽ICP备14008679号