sklearn.metrics の accuracy_score を使用して精度スコアを計算する
このステップでは、モデルの予測の正解率を計算します。正解率は、最も単純な分類メトリクスの一つです。これは、正しく予測されたインスタンスの数を、全インスタンス数で割った値です。
sklearn.metrics の accuracy_score 関数がこの値を計算します。この関数は、真のラベルと予測されたラベルを引数として取ります。
まず、左側のファイルエクスプローラーから evaluate.py ファイルを開きます。このファイルには既に y_true と y_pred のリストが含まれています。次に、accuracy_score 関数をインポートし、正解率を計算して結果を表示するために、以下のコードをファイルの末尾に追加します。
from sklearn.metrics import accuracy_score
## 正解率を計算
accuracy = accuracy_score(y_true, y_pred)
print(f"Accuracy: {accuracy}")
これで、evaluate.py ファイル全体は以下のようになります。
## この実験では、異なる評価メトリクスを理解するために、
## 事前に定義された真のラベルと予測されたラベルのセットを使用します。
## y_true は、データポイントの実際の正解ラベルを表します。
## 二項分類の場合、0 は「ネガティブ」、1 は「ポジティブ」を意味することがあります。
y_true = [0, 1, 1, 0, 1, 0, 0, 1, 0, 1]
## y_pred は、仮説上の分類モデルによって予測されたラベルを表します。
y_pred = [0, 1, 0, 0, 1, 1, 0, 1, 0, 1]
print("Setup complete. True and predicted labels are defined in evaluate.py.")
print(f"True labels: {y_true}")
print(f"Predicted labels: {y_pred}")
from sklearn.metrics import accuracy_score
## 正解率を計算
accuracy = accuracy_score(y_true, y_pred)
print(f"Accuracy: {accuracy}")
それでは、スクリプトを実行しましょう。IDE でターミナルを開き、以下のコマンドを実行します。
python3 evaluate.py
正解率を含む以下の出力が表示されるはずです。正解率が 0.8 ということは、予測の 80% が正しかったことを意味します。
Setup complete. True and predicted labels are defined in evaluate.py.
True labels: [0, 1, 1, 0, 1, 0, 0, 1, 0, 1]
Predicted labels: [0, 1, 0, 0, 1, 1, 0, 1, 0, 1]
Accuracy: 0.8