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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

iris数据_Kaggle 数据可视化课程5

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iris数据_Kaggle 数据可视化课程5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Lesson 5 直方圖和密度圖

在本教程中,您將學習所有關于直方圖和密度圖。

設置notebook

與往常一樣,我們從設置編碼環境開始。

In [1]:

import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns print("Setup Complete")

Output

Setup Complete

選擇數據集

我們將使用150種不同的花,或來自三種不同的鳶尾(鳶尾色Iris setosa,百色鳶尾Iris versicolor,和處女鳶尾Iris virginica)各50種的數據集。

加載并檢查數據

數據集中的每一行對應于不同的花。有四種測量方法:萼片的長度和寬度,以及花瓣的長度和寬度。我們也記錄了相應的物種。

In [2]:

# Path of the file to read iris_filepath = "../input/iris.csv"# Read the file into a variable iris_data iris_data = pd.read_csv(iris_filepath, index_col="Id")# Print the first 5 rows of the data iris_data.head()

Out[2]:

直方圖

假設我們想創建一個直方圖,看看鳶尾花的花瓣長度是如何變化的。我們可以用sns.distplot來做這個。

In [3]:

# Histogram sns.distplot(a=iris_data['Petal Length (cm)'], kde=False)

Out[3]:

<matplotlib.axes._subplots.AxesSubplot at 0x7f96c5b1da20>

我們用兩個額外的信息自定義命令的行為:

  • a= 選擇我們想要繪制的列(在本例中,我們選擇了 'Petal Length (cm)'。*
  • kde=False 是我們在創建直方圖時總會提供的,因為省略它會創建一個稍微不同的圖。

密度圖

下一種類型的圖是kernel density estimate (KDE) 圖。如果您不熟悉KDE圖,可以將其視為平滑的直方圖。

為了制作一個KDE圖,我們使用sns.kdeplot命令。將shade=True設置為曲線下的區域的顏色(和data=具有相同的功能)。

In [4]:

# KDE plot sns.kdeplot(data=iris_data['Petal Length (cm)'], shade=True)

Out[4]:

<matplotlib.axes._subplots.AxesSubplot at 0x7f96c5a664e0>

2D KDE plots

在創建KDE圖時,我們不受限于單個列。我們可以用sns.jointplot創建一個二維(2D)的KDE圖。

在下面的圖中,顏色編碼顯示了我們看到萼片寬度和花瓣長度的不同組合的可能性,而圖中較暗的部分更有可能。

In [5]:

# 2D KDE plot sns.jointplot(x=iris_data['Petal Length (cm)'], y=iris_data['Sepal Width (cm)'], kind="kde")

Out[5]:

<seaborn.axisgrid.JointGrid at 0x7f96c59cbef0>

注意,除了中間的2D KDE圖外,

  • 圖中頂部的曲線是x軸數據的KDE圖(在本例中為iris_data['Petal Length (cm)']),以及
  • 圖右側的曲線是y軸數據的KDE圖(在本例中為 iris_data['Sepal Width (cm)'])。

Color-coded plots

在本教程的下一部分中,我們將創建一些圖來了解物種之間的差異。為此,我們首先將數據集分成三個單獨的文件,每個物種一個。

In [6]:

# Paths of the files to read iris_set_filepath = "../input/iris_setosa.csv" iris_ver_filepath = "../input/iris_versicolor.csv" iris_vir_filepath = "../input/iris_virginica.csv"# Read the files into variables iris_set_data = pd.read_csv(iris_set_filepath, index_col="Id") iris_ver_data = pd.read_csv(iris_ver_filepath, index_col="Id") iris_vir_data = pd.read_csv(iris_vir_filepath, index_col="Id")# Print the first 5 rows of the Iris versicolor data iris_ver_data.head()

Out[6]:

在下面的代碼單元格中,我們使用sns.distplot三次為每個物種創建一個不同的直方圖。我們使用label=來設置每個柱狀圖在圖例中的顯示方式。

In [7]:

# Histograms for each species sns.distplot(a=iris_set_data['Petal Length (cm)'], label="Iris-setosa", kde=False) sns.distplot(a=iris_ver_data['Petal Length (cm)'], label="Iris-versicolor", kde=False) sns.distplot(a=iris_vir_data['Petal Length (cm)'], label="Iris-virginica", kde=False)# Add title plt.title("Histogram of Petal Lengths, by Species")# Force legend to appear plt.legend()

Out[7]:

<matplotlib.legend.Legend at 0x7f96c5849470>

在這種情況下,圖例不會自動出現在情節中。要強制它顯示(對于任何圖的類型),我們總是可以使用 plt.legend()。

我們還可以使用sns.kdeplot為每個物種創建一個KDE圖。同樣, label= 用于設置圖例中的值。

In [8]:

# KDE plots for each species sns.kdeplot(data=iris_set_data['Petal Length (cm)'], label="Iris-setosa", shade=True) sns.kdeplot(data=iris_ver_data['Petal Length (cm)'], label="Iris-versicolor", shade=True) sns.kdeplot(data=iris_vir_data['Petal Length (cm)'], label="Iris-virginica", shade=True)# Add title plt.title("Distribution of Petal Lengths, by Species")

Out[8]:

Text(0.5, 1.0, 'Distribution of Petal Lengths, by Species')

從圖中可以看出一個有趣的模式,即這些植物似乎屬于兩個類群中的一個,其中Iris versicolor和Iris virginica的花瓣長度似乎有相似的值,而Iris setosa單獨屬于單獨類別。

事實上,根據這一數據,我們甚至可以把任何鳶尾屬植物作為Iris setosa (而不是Iris versicolor的或Iris virginica )僅僅通過觀察花瓣長度:如果一個鳶尾屬植物花瓣長度小于2厘米,它是最有可能Iris setosa !

接下來?

點擊 這里進行練習!

總結

以上是生活随笔為你收集整理的iris数据_Kaggle 数据可视化课程5的全部內容,希望文章能夠幫你解決所遇到的問題。

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