アヤメの花データセット

アヤメの花データセット（アヤメのはなデータセット、英語: Iris flower data set）あるいはフィッシャーのアヤメデータセット（英語: Fisher's Iris data set）は1936年にイギリスの統計学者・生物学者ロナルド・フィッシャーが1936年の論文『The use of multiple measurements in taxonomic problems』で線形判別分析（英語版）の例として用いた多変数（英語版）データセットである。エドガー・アンダーソン（英語版）が3種の近縁なアヤメの形態変異を定量化するために記録したものであることから、アンダーソンのアヤメデータセット（英語: Anderson's Iris data set）とも呼ばれる。3種のうち2つはガスペ半島の「同じ牧場で、同じ日に、同一人物によって同じ測定器で同時に」記録された。 データセットはアヤメ3種（ヒオウギアヤメ、バージニアアヤメ（英語版）、ヘンショクアヤメ（英語版））それぞれ50花ずつの標本からなる。各標本ごとに4つの特徴量（萼と花弁（英語版）それぞれの長さと幅）がセンチメートル単位で測定されている。これら4つの特徴量の組み合わせから、フィッシャーはそれぞれの種を区別するための線形判別分析モデルを発達させた。フィッシャーの論文は『優生学会誌』（英語: Annals of Eugenics, 今日の『人間遺伝学会誌（英語版）』）に掲載された。 元々はフィッシャーの線形判別分析（英語版）に用いられたが、その後サポートベクターマシンなどのような機械学習の分類のテストに用いられるようになった。 しかしながら2つの明瞭に異なるクラスタのみが含まれることから、クラスタ解析ではあまり使用されない。ひとつのクラスタにはヒオウギアヤメが含まれ、もう片方のクラスタにはバージニアアヤメとヘンショクアヤメ両方が含まれており、両種はフィッシャーの用いた種情報なしでは判別不可能である。そのため、データマイニングの教師あり学習と教師なし学習の違いを説明する良い例となっている。すなわち、フィッシャーの線形判別モデルは対象種が明らかな場合のみ得られる。分類とクラスタは必ずしも一致しない。 それにもかかわらず、3種のアヤメはどれも非線形で枝分かれする主成分分析によって判別できる。データセットはノードの数が多すぎたり、曲げたり伸ばしたりすることに対して何らかのペナルティを課すことで、最も近いツリーによって近似され、いわゆる「地下鉄路線図」が構築される。各ノードについて、投影された点の円グラフが作成される。円グラフの面積は投影点の数に比例する。左図から明らかなように、異なる種のアヤメのサンプルの絶対多数は、異なるノードに属している。バージニアアヤメのごく一部がヘンショクアヤメと混在しているだけである（図中の青緑色の混在ノード）。したがって、3種のアヤメ（ヒオウギアヤメ、バージニアアヤメ、ヘンショクアヤ）は、主成分ツリーの対応するノードを選ぶことで、非線形主成分分析の教師なし手順によって判別できる。 データセットには150の記録が5指標下（萼と花弁それぞれの長さと幅、および種情報）で含まれる。 アヤメデータセットは機械学習の初心者向けデータセットとして広く利用されている。R言語の基本パッケージやPythonのscikit-learnに含まれており、利用者が情報源を見つけることなく利用できる。 いくつかのバージョンが公表されている。 下に示すRコードによって当記事冒頭に示した散布図を再現できる。 # Show the dataset iris # Show the help page, with information about the dataset ?iris # Create scatterplots of all pairwise combination of the 4 variables in the dataset pairs(iris[1:4], main="Iris Data (red=setosa,green=versicolor,blue=virginica)", pch=21, bg=c("red","green3","blue")[unclass(iris$Species)]) from sklearn.datasets import load_iris iris = load_iris() iris 次の結果が得られる。 {'data': array([[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],... 'target': array([0, 0, 0, ... 1, 1, 1, ... 2, 2, 2, ... 'target_names': array(['setosa', 'versicolor', 'virginica'], dtype='<U10'), ...} データセット 機械学習用データセットの一覧（英語版） ^ a b R. A. Fisher (1936). “The use of multiple measurements in taxonomic problems”. Annals of Eugenics 7 (2): 179–188. doi:10.1111/j.1469-1809.1936.tb02137.x. hdl:2440/15227.  ^ Edgar Anderson (1936). “The species problem in Iris”. Annals of the Missouri Botanical Garden 23 (3): 457–509. doi:10.2307/2394164. JSTOR 2394164. http://biostor.org/reference/11559.  ^ Edgar Anderson (1935). “The irises of the Gaspé Peninsula”. Bulletin of the American Iris Society 59: 2–5.  ^ a b Gorban, A. N.; Zinovyev, A. (2010). “Principal manifolds and graphs in practice: from molecular biology to dynamical systems”. International Journal of Neural Systems 20 (3): 219–232. https://arxiv.org/abs/1001.1122.  ^ “UCI Machine Learning Repository: Iris Data Set”. archive.ics.uci.edu. 2017年12月1日閲覧。 ^ Ines Färber; Stephan Günnemann; Hans-Peter Kriegel; Peer Kröger; Emmanuel Müller; Erich Schubert; Thomas Seidl; Arthur Zimek (2010). "On Using Class-Labels in Evaluation of Clusterings" (PDF). In Xiaoli Z. Fern; Ian Davidson; Jennifer Dy (eds.). MultiClust: Discovering, Summarizing, and Using Multiple Clusterings. ACM SIGKDD. ^ Gorban, A.N.; Sumner, N.R.; Zinovyev, A.Y. (2007). “Topological grammars for data approximation”. Applied Mathematics Letters 20 (4): 382-386. https://arxiv.org/abs/cs/0603090.  Fisher's Iris Data - UCI Machine Learning Repository: Iris Data Set sitory: Iris Data Set (Contains two errors which are documented)