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(())
png

(二)資料集介紹

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中,有一種明顯的可以與其他兩種區別,而另外兩種則無法明顯區別。

png

這個描述檔說明了這個資料集是在 1936年時由Fisher建立,為圖形識別領域之重要經典範例。共例用四種特徵來分類三種鳶尾花

(三)應用範例介紹

在整個scikit-learn應用範例中,有以下幾個範例是利用了這組iris資料集。

Last updated