機械学習モデルの品質評価

Beginner

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

はじめに

機械学習においては、モデルによって行われる予測の品質を評価することが重要です。これにより、モデルがどの程度機能しているか、正確な予測を行うために信頼できるかを理解することができます。scikit - learn ライブラリは、予測の品質を定量化するためのいくつかの指標と評価方法を提供しています。

この実験では、scikit - learn によって提供される 3 つの異なる API を用いてモデル評価を行います。Estimator スコアメソッド、評価パラメータ、およびメトリック関数です。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

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

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション終了後にフィードバックを提供してください。すぐに問題を解決いたします。

Estimator スコアメソッド

Estimator スコアメソッドは、scikit - learn によって各 Estimator に対して提供される既定の評価基準です。これは、モデルの予測の品質を表すスコアを計算します。各 Estimator のドキュメントでこれに関する詳細を見つけることができます。

以下は、Estimator に対してscoreメソッドを使用する例です。

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits

X, y = load_digits(return_X_y=True)
clf = LogisticRegression()
clf.fit(X, y)

score = clf.score(X, y)
print("Score:", score)

評価パラメータ

scikit - learn は、交差検証やグリッドサーチなどのいくつかのモデル評価ツールにscoringパラメータを提供しています。scoringパラメータは、評価中に Estimator に適用されるメトリックを制御します。

以下は、交差検証でscoringパラメータを使用する例です。

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits

X, y = load_digits(return_X_y=True)
clf = LogisticRegression()

scores = cross_val_score(clf, X, y, cv=5, scoring='accuracy')
print("Scores:", scores)

メトリック関数

scikit - learn のmetricsモジュールは、特定の目的で予測誤差を評価するためのいくつかの関数を実装しています。これらの関数は、モデルによって行われる予測の品質を計算するために使用できます。

以下は、metricsモジュールのaccuracy_score関数を使用する例です。

from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

clf = LogisticRegression()
clf.fit(X_train, y_train)

y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

まとめ

この実験では、scikit - learn によって提供される 3 つの異なる API について学びました。Estimator スコアメソッド、評価パラメータ、およびメトリック関数です。これらの API を使うことで、モデルによって行われる予測の品質を評価し、モデルがどの程度機能しているかを理解することができます。