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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于matplotlib对iris数据集进行数据分析

發布時間:2023/12/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于matplotlib对iris数据集进行数据分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • iris介紹

iris數據集也稱鳶尾花數據集。包括150個數據樣本,分為三類,每類五十個數據,每個數據具有四個屬性,可通過四個屬性預測鳶尾花屬于哪一類。

  • 用到的python庫
    matplotlib、pandas、sklearn、seaborn
    /這里因為我沒有下載iris數據集,所以從sklearn里面導入,如果有數據集則用pandas.read_csv打開即可。/

有了數據集以后就直接作圖等操作就好了。 let‘s go!

導入數據集,看看數據集長啥樣子。
把數據集轉換為pandas的DataFrame類型便于操作(類似與二維表)

import pandas as pd from sklearn.datasets import load_iris #因為沒有iris數據集,只好從sklearn里面導入 import matplotlib.pyplot as plt import seaborn as snsiris=load_iris()feature_names=['sepal length', 'sepal width', 'petal length', 'petal width'] #利用字典把數據轉換為dataframe類型 #DataFrame指一種類似與excel的二維表的框架 iris=pd.DataFrame({feature_names[0]:[iris.data[i][0] for i in range(len(iris.data))],feature_names[1]:[iris.data[i][1] for i in range(len(iris.data))],feature_names[2]:[iris.data[i][2] for i in range(len(iris.data))],feature_names[3]:[iris.data[i][3] for i in range(len(iris.data))],'type':iris.target })print(iris)#150*5的二維表

t這就是iris數據集的前20行,沒有截完,然后我們來看看前五行和數據總體信息描述(type的0,1,2分別表示三種花setosa,versicolor,virginica)

print(iris.head())#前五條數據

petal length petal width sepal length sepal width type
0 1.4 0.2 5.1 3.5 0
1 1.4 0.2 4.9 3.0 0
2 1.3 0.2 4.7 3.2 0
3 1.5 0.2 4.6 3.1 0
4 1.4 0.2 5.0 3.6 0

print(iris.info())#總體信息

<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
petal length 150 non-null float64
petal width 150 non-null float64
sepal length 150 non-null float64
sepal width 150 non-null float64
type 150 non-null int32
dtypes: float64(4), int32(1)
memory usage: 5.4 KB
None

print(iris.describe())#數據描述 petal length petal width sepal length sepal width type

count 150.000000 150.000000 150.000000 150.000000 150.000000
mean 3.758667 1.198667 5.843333 3.054000 1.000000
std 1.764420 0.763161 0.828066 0.433594 0.819232
min 1.000000 0.100000 4.300000 2.000000 0.000000
25% 1.600000 0.300000 5.100000 2.800000 0.000000
50% 4.350000 1.300000 5.800000 3.000000 1.000000
75% 5.100000 1.800000 6.400000 3.300000 2.000000
max 6.900000 2.500000 7.900000 4.400000 2.000000

然后分別畫出箱線圖、關系矩陣、核密度圖。

#畫各個特征的關系矩陣 #0,1,2分別代表setosa,versicolor,virginica sns.pairplot(data=iris,hue='type') plt.show()

#0,1,2分別代表setosa,versicolor,virginica #繪制箱線圖 for i in range(4):sns.boxplot(x="type",y=feature_names[i],data=iris)sns.kdeplot(iris[feature_names[i]])plt.show()




for i in range(4):sns.kdeplot(iris[feature_names[i]],shade=True) plt.title("Nuclear density") plt.show()

總結

以上是生活随笔為你收集整理的基于matplotlib对iris数据集进行数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。