機械学習
機械学習の最初の一歩:分類モデルを作って評価する
scikit-learnで分類モデルを作り、精度評価まで行う基本フローを初心者向けに解説します。
はじめに
機械学習の入門では、まず「分類」を1回通しで実行するのがおすすめです。
ここでは、モデル作成から評価までの最小手順を確認します。
分類問題とは
分類は、データを複数のクラスに分ける問題です。
- メールが迷惑メールかどうか
- 顧客が解約しそうかどうか
基本コード
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, classification_report
# X: 説明変数, y: 目的変数(0/1など)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = DecisionTreeClassifier(max_depth=3, random_state=42)
model.fit(X_train, y_train)
pred = model.predict(X_test)
print("accuracy:", accuracy_score(y_test, pred))
print(classification_report(y_test, pred))
評価で見るべき指標
- Accuracy(正解率)
- Precision(適合率)
- Recall(再現率)
初心者向けの進め方
1
まず1モデルで最後まで実行する
データの分割・学習・予測・評価を一気通しで行います。
2
指標を読み、弱点を把握する
Accuracy・Precision・Recall の数値から、どこが弱いかを見極めます。
3
特徴量やパラメータを1つずつ変える
一度に大きく変えず、少しずつ調整して効果を確認します。
関連記事
機械学習
決定木とランダムフォレスト入門機械学習の基本的なアルゴリズムである決定木とランダムフォレストの仕組みと実装方法を解説します。 Python
Jupyterで学ぶPythonデータ前処理入門分析前に必ず行うデータ前処理を、Jupyterとpandasを使って初心者向けにステップ形式で紹介します。まとめ
機械学習は「モデルを作ること」だけでなく、「正しく評価すること」が重要です。
小さなデータで一連の流れを繰り返し、評価に慣れていきましょう。