Iris Dataset Analysis
アイリスのデータセットをロードしました。データセットの最初の5行を見てみましょう。
sepal length (cm) | sepal width (cm) | petal length (cm) | petal width (cm) | target | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | 0 |
1 | 4.9 | 3.0 | 1.4 | 0.2 | 0 |
2 | 4.7 | 3.2 | 1.3 | 0.2 | 0 |
3 | 4.6 | 3.1 | 1.5 | 0.2 | 0 |
4 | 5.0 | 3.6 | 1.4 | 0.2 | 0 |
各行はアイリスの花のサンプルを表し、以下の特徴を持っています:
- sepal length (cm): 花びらの長さ(センチメートル)
- sepal width (cm): 花びらの幅(センチメートル)
- petal length (cm): 花弁の長さ(センチメートル)
- petal width (cm): 花弁の幅(センチメートル)
- target: アイリスの種類を表す目標変数(0, 1, 2のいずれか)
次に、このデータセットの基本的な統計情報を取得してみましょう。
アイリスのデータセットの基本的な統計情報は以下の通りです:
sepal length (cm) | sepal width (cm) | petal length (cm) | petal width (cm) | target | |
---|---|---|---|---|---|
count | 150.0 | 150.0 | 150.0 | 150.0 | 150.0 |
mean | 5.843 | 3.057 | 3.758 | 1.199 | 1.0 |
std | 0.828 | 0.436 | 1.765 | 0.762 | 0.819 |
min | 4.3 | 2.0 | 1.0 | 0.1 | 0.0 |
25% | 5.1 | 2.8 | 1.6 | 0.3 | 0.0 |
50% | 5.8 | 3.0 | 4.35 | 1.3 | 1.0 |
75% | 6.4 | 3.3 | 5.1 | 1.8 | 2.0 |
max | 7.9 | 4.4 | 6.9 | 2.5 | 2.0 |
これらの統計情報から、以下の特徴を読み取ることができます:
- データセットには150のサンプルが含まれています。
- セパル(花びら)の長さは平均5.84cm、最小4.3cm、最大7.9cmで、標準偏差は0.83です。
- セパルの幅は平均3.06cm、最小2.0cm、最大4.4cmで、標準偏差は0.44です。
- ペタル(花弁)の長さは平均3.76cm、最小1.0cm、最大6.9cmで、標準偏差は1.77です。
- ペタルの幅は平均1.20cm、最小0.1cm、最大2.5cmで、標準偏差は0.76です。
- 目標変数(アイリスの種類)は0、1、2の3つの値を取り、平均は1.0で、標準偏差は0.82です。これは、データセットが均等に3つのクラスに分けられていることを示しています。
以下は、アイリスデータセットの各特徴量(sepal length, sepal width, petal length, petal width)のペアプロットです。色分けはアイリスの種類(target)に基づいています。
このプロットから、以下の観察ができます:
- petal lengthとpetal widthは強い正の相関があります。これは、花弁の長さが長いほど、花弁の幅も広い傾向があることを示しています。
- sepal lengthもpetal lengthとpetal widthと正の相関がありますが、それほど強くはありません。
- sepal widthは他の特徴量とはあまり相関がありません。
- 各アイリスの種類は、特にpetal lengthとpetal widthに基づいて、比較的明確に区別できます。これは、機械学習モデルがアイリスの種類を予測するのにこれらの特徴量が有用である可能性を示しています。
アイリスのデータセットは比較的小さく、特徴量も少ないため、線形モデル(ロジスティック回帰など)、決定木、ランダムフォレスト、サポートベクターマシン(SVM)、k-最近傍法(k-NN)などの様々なアルゴリズムが適用可能です。
また、このデータセットは3つのクラスが均等に分布しているため、多クラス分類問題として扱うことができます。
ここでは、以下の手順でモデルを作成します:
- データを訓練データとテストデータに分割します。
- 複数のアルゴリズムを試し、訓練データでモデルを訓練します。
- テストデータを使ってモデルの性能を評価します。
まず、データを訓練データとテストデータに分割しましょう。
データを訓練データとテストデータに分割しました。訓練データは120サンプル、テストデータは30サンプルとなっています。
次に、複数のアルゴリズムを試してみましょう。ここでは、ロジスティック回帰、決定木、ランダムフォレスト、サポートベクターマシン(SVM)、k-最近傍法(k-NN)を試します。各アルゴリズムでモデルを訓練し、テストデータでの精度を比較します。
以下の5つのアルゴリズムを試し、それぞれのテストデータでの精度を計算しました:
- ロジスティック回帰
- 決定木
- ランダムフォレスト
- サポートベクターマシン(SVM)
- k-最近傍法(k-NN)
結果は以下の通りです:
- ロジスティック回帰: 1.0
- 決定木: 1.0
- ランダムフォレスト: 1.0
- SVM: 1.0
- KNN: 1.0
これらの結果から、すべてのアルゴリズムがテストデータに対して100%の精度を達成しています。これは、アイリスのデータセットが比較的簡単で、特徴量が明確にクラスを区別するのに十分であるためです。
ただし、これはあくまでこの特定のデータセットに対する結果であり、他のデータセットや実世界の問題に対しては、異なるアルゴリズムやパラメータ設定が必要になることを覚えておいてください。また、モデルの選択は精度だけでなく、解釈可能性、訓練と予測の速度、データの特性など、多くの要素に基づいて行うべきです。
以下は、アイリスデータセットの特徴量を用いてK-meansクラスタリングを行い、その結果をPCA(主成分分析)で2次元に削減したグラフです。
このグラフから、以下のようなデータの傾向を読み取ることができます:
- データは3つのクラスタに分けられています。これは、アイリスのデータセットが3つの種類のアイリス(Setosa、Versicolor、Virginica)を表していることと一致しています。
- 一部のクラスタは他のクラスタと明確に分離していますが、2つのクラスタは一部重なっています。これは、一部のアイリスの種類が他の種類と似た特徴を持っている可能性を示しています。
- PCAによる次元削減では、データの分散を最大限に保つように新しい特徴空間を作成します。このグラフでは、それぞれの主成分がデータの異なる側面を捉えています。
この結果は、アイリスのデータセットがクラスタリングに適した構造を持っていることを示しています。また、これらのクラスタはアイリスの種類に対応している可能性があります。ただし、クラスタリングは教師なし学習の一種であり、真のラベル情報を使用しないため、この対応関係を確認するには追加の分析が必要です。
以下は、アイリスデータセットの特徴量を用いてK-meansクラスタリングを行い、その結果をt-SNE(t-Distributed Stochastic Neighbor Embedding)で2次元に削減したグラフです。
このグラフから、以下のようなデータの傾向を読み取ることができます:
- データは3つのクラスタに分けられています。これは、アイリスのデータセットが3つの種類のアイリス(Setosa、Versicolor、Virginica)を表していることと一致しています。
- t-SNEによる次元削減では、各クラスタがより明確に分離していることが見て取れます。これは、t-SNEが高次元データのクラスタ構造を低次元に保持するのに優れているためです。
- 一部のクラスタは他のクラスタと明確に分離していますが、2つのクラスタは一部重なっています。これは、一部のアイリスの種類が他の種類と似た特徴を持っている可能性を示しています。
この結果は、アイリスのデータセットがクラスタリングに適した構造を持っていることを示しています。また、これらのクラスタはアイリスの種類に対応している可能性があります。ただし、クラスタリングは教師なし学習の一種であり、真のラベル情報を使用しないため、この対応関係を確認するには追加の分析が必要です。