日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Iris数据集可视化

發(fā)布時(shí)間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Iris数据集可视化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • Fisher數(shù)據(jù)可視化
    • 去掉Species特征中的’Iris-'字符
    • Seaborn可視化
      • palette調(diào)色板
      • sns初始化,set()設(shè)置主題、調(diào)色板
      • relplot
      • hue
      • 聯(lián)合分布 jointplot
      • displot
      • boxplot
      • violinplot
      • pairplot

Fisher數(shù)據(jù)可視化

import pandas as pd df_Iris = pd.read_csv('Iris1.csv') df_Iris.Species.value_counts()

去掉Species特征中的’Iris-'字符

df_Iris['Species']= df_Iris.Species.apply(lambda x: x.split('-')[1]) df_Iris.Species.value_counts()

Seaborn可視化

palette調(diào)色板

import numpy as np import matplotlib.pyplot as plt import seaborn as sns current_palette = sns.color_palette() print("current_palette") sns.palplot(current_palette) #其它顏色風(fēng)格 #風(fēng)格內(nèi)容:Accent,Blues,BrBG等等 print("Accent") sns.palplot(sns.color_palette('Accent',8)) #這里顏色風(fēng)格為Accent #顏色色塊個(gè)數(shù)為8個(gè) #風(fēng)格顏色轉(zhuǎn)換(不是所有顏色都可以反轉(zhuǎn)):Blues/Blues_r #分組顏色設(shè)置 -'Paried' print("Paired") sns.palplot(sns.color_palette('Paired', 16))

sns初始化,set()設(shè)置主題、調(diào)色板

# styles = ["white", "dark", "whitegrid", "darkgrid", "ticks"] # palette : deep,muted, pastel, bright, dark, colorblind sns.set(style="dark", palette="colorblind", color_codes=True)

relplot

relplot(kind=“l(fā)ine”|“scatter(默認(rèn))”)

#設(shè)置散點(diǎn)圖x軸與y軸以及data參數(shù) sns.relplot(x='SepalLengthCm', y='SepalWidthCm', data = df_Iris) plt.title('SepalLengthCm and SepalWidthCm data analysize')

# kind='line' sns.relplot(x='SepalLengthCm', y='SepalWidthCm', kind="line",data = df_Iris) # 陰影部分為置信空間ci=None可控制

hue

在某一維度,用不同的顏色區(qū)分出來

# 表示按照Species對(duì)數(shù)據(jù)進(jìn)行分類, 而style表示每個(gè)類別的標(biāo)簽系列格式不一致. sns.relplot(x='SepalLengthCm', y='SepalWidthCm', hue='Species', style='Species', data=df_Iris ) plt.title('SepalLengthCm and SepalWidthCm data by Species')

#花瓣長(zhǎng)度與寬度分布散點(diǎn)圖 sns.relplot(x='PetalLengthCm', y='PetalWidthCm', hue='Species', style='Species', data=df_Iris ) plt.title('PetalLengthCm and PetalWidthCm data by Species')

#花萼長(zhǎng)度與Id之間關(guān)系圖 sns.relplot(x="Id", y="SepalLengthCm",hue="Species", style="Species",kind="line", data=df_Iris) plt.title('SepalLengthCm and Id data analysize') #花萼寬度與Id之間關(guān)系圖 sns.relplot(x="Id", y="SepalWidthCm",hue="Species", style="Species",kind="line", data=df_Iris) plt.title('SepalWidthCm and Id data analysize') #花瓣長(zhǎng)度與Id之間關(guān)系圖 sns.relplot(x="Id", y="PetalLengthCm",hue="Species", style="Species",kind="line", data=df_Iris) plt.title('PetalLengthCm and Id data analysize') #花瓣寬度與Id之間關(guān)系圖 sns.relplot(x="Id", y="PetalWidthCm",hue="Species", style="Species",kind="line", data=df_Iris) plt.title('PetalWidthCm and Id data analysize')

聯(lián)合分布 jointplot

jointplot(x,y,data,color,s,edgecolor,linewidth,kind,space,size,ratio.marginal_kws)

sns.jointplot(x='SepalLengthCm', y='SepalWidthCm', data=df_Iris) sns.jointplot(x='PetalLengthCm', y='PetalWidthCm', data=df_Iris)

displot

displot()集合了matplotlib的hist()與核函數(shù)估計(jì)kdeplot的功能,增加了rugplot分布觀測(cè)條顯示與利用scipy庫fit擬合參數(shù)分布的新穎用途
seaborn.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)

#繪制直方圖, 其中kde=False表示不顯示核函數(shù)估計(jì)圖,這里為了更方便去查看頻數(shù)而設(shè)置它為False. # bins劃分直方圖區(qū)間 sns.distplot(df_Iris.SepalLengthCm,bins=8, hist=True, kde=False) sns.distplot(df_Iris.SepalWidthCm,bins=13, hist=True, kde=False) sns.distplot(df_Iris.PetalLengthCm, bins=5, hist=True, kde=False) sns.distplot(df_Iris.PetalWidthCm, bins=5, hist=True, kde=False)

boxplot

箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖。它能顯示出一組數(shù)據(jù)的最大值、最小值、中位數(shù)及上下四分位數(shù)。因形狀如箱子而得名。
seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)

#比如數(shù)據(jù)中的SepalLengthCm屬性 sns.boxplot(x='SepalLengthCm', data=df_Iris) #比如數(shù)據(jù)中的SepalWidthCm屬性 sns.boxplot(x='SepalWidthCm', data=df_Iris)

#對(duì)于每個(gè)屬性的data創(chuàng)建一個(gè)新的DataFrame Iris1 = pd.DataFrame({"Id": np.arange(1,151), 'Attribute': 'SepalLengthCm', 'Data':df_Iris.SepalLengthCm, 'Species':df_Iris.Species}) Iris2 = pd.DataFrame({"Id": np.arange(151,301), 'Attribute': 'SepalWidthCm', 'Data':df_Iris.SepalWidthCm, 'Species':df_Iris.Species}) Iris3 = pd.DataFrame({"Id": np.arange(301,451), 'Attribute': 'PetalLengthCm', 'Data':df_Iris.PetalLengthCm, 'Species':df_Iris.Species}) Iris4 = pd.DataFrame({"Id": np.arange(451,601), 'Attribute': 'PetalWidthCm', 'Data':df_Iris.PetalWidthCm, 'Species':df_Iris.Species}) #將四個(gè)DataFrame合并為一個(gè). Iris = pd.concat([Iris1, Iris2, Iris3, Iris4]) #繪制箱線圖 sns.boxplot(x='Attribute', y='Data', data=Iris)

sns.boxplot(x='Attribute', y='Data',hue='Species', data=Iris)

violinplot

violinplot與boxplot扮演類似的角色,它顯示了定量數(shù)據(jù)在一個(gè)(或多個(gè))分類變量的多個(gè)層次上的分布,這些分布可以進(jìn)行比較。不像箱形圖中所有繪圖組件都對(duì)應(yīng)于實(shí)際數(shù)據(jù)點(diǎn),小提琴繪圖以基礎(chǔ)分布的核密度估計(jì)為特征。
seaborn.violinplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, bw=‘scott’, cut=2, scale=‘a(chǎn)rea’, scale_hue=True, gridsize=100, width=0.8, inner=‘box’, split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None, saturation=0.75, ax=None, **kwargs)

sns.violinplot(x='Attribute', y='Data', hue='Species', data=Iris )

#花萼長(zhǎng)度 sns.boxplot(x='Species', y='SepalLengthCm', data=df_Iris) sns.violinplot(x='Species', y='SepalLengthCm', data=df_Iris) plt.title('SepalLengthCm data by Species') #花萼寬度 sns.boxplot(x='Species', y='SepalWidthCm', data=df_Iris) sns.violinplot(x='Species', y='SepalWidthCm', data=df_Iris) plt.title('SepalWidthCm data by Species') #花瓣長(zhǎng)度 sns.boxplot(x='Species', y='PetalLengthCm', data=df_Iris) sns.violinplot(x='Species', y='PetalLengthCm', data=df_Iris) plt.title('PetalLengthCm data by Species') #花瓣寬度 sns.boxplot(x='Species', y='PetalWidthCm', data=df_Iris) sns.violinplot(x='Species', y='PetalWidthCm', data=df_Iris) plt.title('PetalWidthCm data by Species')

pairplot

pairplot中pair是成對(duì)的意思,pairplot主要展現(xiàn)的是變量?jī)蓛芍g的關(guān)系(線性或非線性,有無較為明顯的相關(guān)關(guān)系),照例來總覽一下pairplot的API。
seaborm.pairplot(data,hue=None,hue_order=None,palette=None,vars=None,x_vars=None,
y_vars=None,kind=‘scattr’,diag_kind=‘hist’,markers=None,size=2.5,aspect=1,dropna=True,plot_ kws=None, diag. kws=None, grid. kws=None)

# 刪除Id特征, 繪制分布圖 sns.pairplot(df_Iris.drop('Id', axis=1), hue='Species') # 保存圖片, 由于在jupyter notebook中太大, 不能一次截圖 plt.savefig('pairplot.png') plt.show()

from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier X=df_Iris[['SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']] y = df_Iris['Species'] ## 將數(shù)據(jù)按照8:2的比例隨機(jī)分為訓(xùn)練集, 測(cè)試集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) #初始化決策樹模型 dt = DecisionTreeClassifier() #訓(xùn)練模型 dt.fit(X_train, y_train) #用測(cè)試集評(píng)估模型的好壞 dt.score(X_test, y_test)

參考文獻(xiàn)

https://www.kaggle.com/uciml/iris#Iris.csv
https://www.cnblogs.com/star-zhao/p/9847082.html
https://blog.csdn.net/u013317445/article/details/88175366
https://blog.csdn.net/qq_42554007/article/details/82624418
http://seaborn.pydata.org/api.html

總結(jié)

以上是生活随笔為你收集整理的Iris数据集可视化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。