必要なライブラリをインポートしてデータセットを読み込む
このステップでは、必要なライブラリをインポートしてアイリスデータセットを読み込む方法を学びます。以下の手順に従ってこのステップを完了します。
iris_classification_svm.py で、データセットを読み込み、データを分割し、SVM モデルを作成し、その性能を評価するための必要なライブラリをインポートします。
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_report
sklearn.datasets からアイリスデータを読み込み、データセットを訓練用とテスト用に分割します。データセットは、訓練とテストに 80-20 の比率で分割され、再現性のために乱数シードは 42 となっています。
## 同じファイルで続けます
def load_and_split_data() -> tuple:
"""
Returns:
tuple: [X_train, X_test, y_train, y_test]
"""
iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
return X_train, X_test, y_train, y_test
このコードは、機械学習の目的でアイリスデータセットを読み込み、訓練用とテスト用に分割します。各部分の解説は以下の通りです。
- 必要なライブラリのインポート:
sklearn.datasets は、アイリスデータセットを含むデータセットを読み込むために使用されます。
sklearn.model_selection は、データセットを訓練用とテスト用に分割するためのユーティリティを提供します。
sklearn.svm は、機械学習アルゴリズムの一種であるサポートベクトルマシン (SVM) のクラスを含んでいます。
sklearn.metrics は、正解率や分類レポートなど、モデルの性能を評価するためのツールを含んでいます。
- 関数定義:
load_and_split_data という関数が定義されています。この関数は以下のタスクを行います。
- アイリスデータセットを読み込む:
load_iris() は、sklearn.datasets によって提供される関数で、アイリスの花のデータセットを読み込みます。これは分類タスクに人気のあるデータセットで、3 つの異なる種からの 150 個のアイリスの花の測定値を含んでいます。
- データの分離:データセットは特徴量 (
X) とターゲットラベル (y) に分離されます。この場合、X はアイリスの花の 4 次元の測定値で、y は対応する種のラベル (0、1、または 2) になります。
- データの分割:
sklearn.model_selection の train_test_split を使用して、データを訓練用とテスト用のサブセットに分割します。test_size=0.2 パラメータは、データの 20% がテストに使用され、残りの 80% が訓練に使用されることを意味します。random_state=42 は分割の再現性を保証します。同じシード (ここでは 42) を使用すると、コードを実行するたびに同じ分割結果が得られます。
- 返り値:関数は、
X_train、X_test、y_train、および y_test を含むタプルを返します。これらは訓練用とテスト用のデータの特徴量とターゲットセットです。