機器學習常用數據集001:鳶尾花數據集

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編程網 獲取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章