Scikit-learn を用いた決定木分類

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、scikit-learn を使用して決定木(Decision Trees)を分類にどのように適用するかを学びます。決定木は、分類と回帰に使用される非パラメトリックな教師あり学習手法です。理解と解釈が容易で、数値データとカテゴリデータの両方を扱うことができます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を始めましょう。

時には、Jupyter Notebook の読み込みが完了するまで数秒待つ必要があることがあります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、いつでも Labby に質問してください。セッション終了後にフィードバックを提供していただければ、迅速に問題を解決します。

必要なライブラリをインポートする

まず、必要なライブラリをインポートする必要があります。決定木(Decision Tree)分類器を構築して訓練するために、scikit-learn を使用します。

from sklearn import tree
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

データセットを読み込む

次に、アヤメ(Iris)データセットを読み込みます。このデータセットには、3 種類のアヤメの花の 4 つの特徴に関する情報が含まれています。このデータセットを使用して、決定木(Decision Tree)分類器を訓練します。

## Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

データセットを分割する

決定木(Decision Tree)分類器を訓練する前に、データセットを訓練データセットとテストデータセットに分割する必要があります。データの 70% を訓練に、30% をテストに使用します。

## Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

決定木分類器を作成して訓練する

これで、訓練データを使用して決定木(Decision Tree)分類器を作成し、訓練することができます。

## Create a Decision Tree classifier
clf = tree.DecisionTreeClassifier()

## Train the classifier
clf.fit(X_train, y_train)

予測を行う

分類器の訓練が完了したら、テストデータに対して予測を行うために使用することができます。

## Make predictions on the test data
y_pred = clf.predict(X_test)

## Print the predicted values
print("Predicted values:", y_pred)

モデルを評価する

最後に、予測値と真の値を比較することで、モデルの精度を評価することができます。

## Calculate the accuracy of the model
accuracy = accuracy_score(y_test, y_pred)

## Print the accuracy
print("Accuracy:", accuracy)

まとめ

この実験では、scikit-learn を使用して決定木(Decision Trees)を分類にどのように適用するかを学びました。アヤメ(Iris)データセットを読み込み、データを訓練データセットとテストデータセットに分割し、決定木分類器を作成して訓練し、テストデータに対して予測を行い、モデルの精度を評価しました。決定木は、分類タスクにおいて強力で解釈可能な手法です。