1. 程式人生 > >IRIS資料集介紹

IRIS資料集介紹

本篇的主要內容:

  • 使用Pandas對IRIS匯入的一些基本操作

IRIS資料集介紹

IRIS資料集也稱作鳶尾花資料集,整個資料集共有150條資料,分為三類,每類50條資料,每一條資料都有四個屬性:花萼長度,花萼寬度,花瓣長度,花瓣寬度,標籤資料共有三種,分別是Setosa,Versicolour,Virginica。一般使用前面的四種屬性資料來預測樣本屬於那種鳶尾花。
具體一些的介紹可以移步百度百科:IRIS資料集
或者這篇部落格:iris資料集及簡介
全部的資料:iris資料集

匯入與基本操作

這裡的介紹主要是之前部落格中使用了這一些內容,在此簡單記錄一下。
首先是資料集的匯入,有兩種方式,第一種是直接使用pandas的read_csv()函式進行匯入,例如:

datas = pd.read_csv('iris.csv')
# 看一下匯入資料的前5行資料
print(datas.head(5))
# 或者print(datas[:5])
# 看一下列名稱
columns_names = datas.columns.tolist()
print(columns_names)

輸出:

['Unnamed: 0', 'Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width', 'Species']

   Unnamed: 0  Sepal.Length  Sepal.Width  Petal.Length  Petal.Width Species
0           1           5.1          3.5           1.4          0.2  setosa
1           2           4.9          3.0           1.4          0.2  setosa
2           3           4.7          3.2           1.3          0.2  setosa
3           4           4.6          3.1           1.5          0.2  setosa
4           5           5.0          3.6           1.4          0.2  setosa

可以看到實際上每一條資料有六列,第一列是DataFrame提供的序號,實際資料是後面的五列,前四列是屬性,最後一列是分類。
在分類中,一般不會直接使用資料集中的分類(Setosa,Versicolour,Virginica),而是將這三種分類用數字代替,使用會方便一些,從這裡來看,直接從sklearn包的datasets中匯入會方便一些,新增引用:

from sklearn.datasets import load_iris

匯入資料:

iris = load_iris()
# 看一下返回的資料型別
print(type(iris)) 

# 輸出
# <class 'sklearn.utils.Bunch'>

轉化為DataFrame:

df = pd.DataFrame(iris.data, columns=iris.feature_names)
print(df[:5])

輸出:

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

可以看到再datasets中匯入的資料集與我們手動匯入的還是有些區別的,最顯著的就是將屬性資料與標籤資料分離了,檢視標籤資料:

# 注意這裡匯入的資料中 屬性資料在 .data中  ,標籤資料在 .target中
labels = iris.target
print(labels[:5])       # 前5行資料的分類都是第一類,也就是0

基本就醬,想到別的再記吧!

以上~