1、鳶尾花數據集概述
機器學習包sklearn中集成了各種各樣的數據集,其中就包括鳶尾花數據集(Iris)是最簡單的分類任務數據集之一。
鳶尾花數據集共有3個分類類別,分別是山鳶尾(Iris-setosa)、變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)
該數據集共有150個樣本,5個變量(4個特徵變量,1個類別變量)。iris是鳶尾植物,4個特徵分別對應萼片和花瓣的長和寬。如下表:
列名 | 說明 | 類型 |
---|---|---|
SepalLength | 花萼長度 | float |
SepalWidth | 花萼寬度 | float |
PetalLength | 花瓣長度 | float |
PetalWidth | 花瓣寬度 | float |
Class | 類別變量:0表示山鳶尾、 1表示變色鳶尾、 2表示維吉尼亞鳶尾 | float |
2、鳶尾花數據獲取
from sklearn import datasets # 導入sklearn中集成的數據集
import pandas as pd # 導入pandas
iris = datasets.load_iris()
print("鳶尾花特徵:\n", iris.data[:5]) # print前5個特徵
print("鳶尾花特徵的維度:\n", iris.data.shape)
print("鳶尾花標籤:\n", iris.target)
print("鳶尾花標籤的維度:\n", iris.target.shape)
輸出如下所示:
鳶尾花特徵:
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5. 3.6 1.4 0.2]]
鳶尾花特徵的維度:
(150, 4)
鳶尾花標籤:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2]
鳶尾花標籤的維度:
(150,)
從輸出結果可以看到,類別標籤共分爲三類,前面50個類標位0,中間50個類標位1,後面50個類別爲2。分別代表爲山鳶尾、雜色鳶尾、維吉尼亞鳶尾。
3、 散點圖繪製
用scatter()函數繪製散點圖。
from sklearn import datasets # 導入sklearn中集成的數據集
import pandas as pd # 導入pandas
import matplotlib.pyplot as plt
iris = datasets.load_iris()
print("鳶尾花特徵:\n", iris.data[:5]) # print前5個特徵
print("鳶尾花特徵的維度:\n", iris.data.shape)
print("鳶尾花標籤:\n", iris.target)
print("鳶尾花標籤的維度:\n", iris.target.shape)
cols_list = ['SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth']
df_iris = pd.DataFrame(iris.data, columns=cols_list)
df_iris['Class'] = iris.target
plt.figure()
plt.scatter(df_iris.loc[:50, 'SepalLength'], df_iris.loc[:50, 'SepalWidth'], color='red', marker='o', label='setosa')
plt.scatter(df_iris.loc[50:100, 'SepalLength'], df_iris.loc[50:100, 'SepalWidth'], color='blue', marker='x',
label='versicolor')
plt.scatter(df_iris.loc[100:, 'SepalLength'], df_iris.loc[100:, 'SepalWidth'], color='green', marker='+', label='Virginica')
plt.show()
繪製散點圖如圖所示:
如需要整理好的詳細的鳶尾花數據集、數據說明、可直接建模的數據等資料,可訪問 Python編程網 獲取