Ex 3: The iris 鳶尾花資料集
機器學習資料集/ 範例三: The iris dataset
http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html
這個範例目的是介紹機器學習範例資料集中的iris 鳶尾花資料集
(一)引入函式庫及內建手寫數字資料庫
#這行是在ipython notebook的介面裏專用,如果在其他介面則可以拿掉
%matplotlib inline
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn import datasets
from sklearn.decomposition import PCA
# import some data to play with
iris = datasets.load_iris()
X = iris.data[:, :2] # we only take the first two features.
Y = iris.target
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
plt.figure(2, figsize=(8, 6))
plt.clf()
# Plot the training points
plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
plt.xticks(())
plt.yticks(())
(二)資料集介紹
iris = datasets.load_iris() 將一個dict型別資料存入iris,我們可以用下面程式碼來觀察裏面資料
顯示
說明
('target_names', (3L,))
共有三種鳶尾花 setosa, versicolor, virginica
('data', (150L, 4L))
有150筆資料,共四種特徵
('target', (150L,))
這150筆資料各是那一種鳶尾花
DESCR
資料之描述
feature_names
四個特徵代表的意義,分別為 萼片(sepal)之長與寬以及花瓣(petal)之長與寬
為了用視覺化方式呈現這個資料集,下面程式碼首先使用PCA演算法將資料維度降低至3
接下來將三個維度的資料立用mpl_toolkits.mplot3d.Axes3D 建立三維繪圖空間,並利用 scatter以三個特徵資料數值當成座標繪入空間,並以三種iris之數值 Y,來指定資料點的顏色。我們可以看出三種iris中,有一種明顯的可以與其他兩種區別,而另外兩種則無法明顯區別。

這個描述檔說明了這個資料集是在 1936年時由Fisher建立,為圖形識別領域之重要經典範例。共例用四種特徵來分類三種鳶尾花
(三)應用範例介紹
在整個scikit-learn應用範例中,有以下幾個範例是利用了這組iris資料集。
分類法 Classification
通用範例 General Examples
PreviousEx 2: Plot randomly generated classification dataset 分類數據集NextEx 4: Plot randomly generated multilabel dataset 多標籤數據集
Last updated