メインコンテンツへスキップ

5.1.1 機械学習基礎ロードマップ:タスク、データ、モデル、スコア

機械学習は、すべてのルールを手書きせず、モデルにデータからパターンを学ばせるところから始まります。最初の習慣はアルゴリズム暗記ではなく、小さなプロジェクトループです。

まずマップを見る

機械学習基礎学習マップ

機械学習基礎章フロー

このループを覚えます。

タスク定義 -> データ分割 -> モデル学習 -> 予測 -> 評価 -> 次の判断
用語最初の意味
featureモデルが使う入力列
label / targetモデルが予測する答え
train set学習に使うデータ
test set汎化を確認するために取っておくデータ
baseline比較用のシンプルな最初のモデル

最小 sklearn ループを動かす

ml_first_loop.py を作り、scikit-learn をインストールしてから実行します。

from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)

model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)
predictions = model.predict(X_test)

print("task: classification")
print("test_accuracy:", round(model.score(X_test, y_test), 3))
print("prediction_count:", len(predictions))

出力:

task: classification
test_accuracy: 0.967
prediction_count: 30

これが最小の有用な機械学習ループです。先に分割し、学習データだけで学習し、テストデータで評価します。

この順番で学ぶ

順番読む練習すること
15.1.2 機械学習とはタスク種別、特徴量、ラベル
25.1.3 Scikit-learn 入門fitpredictscore
35.1.4 数学が機械学習へ入る流れベクトル、確率、loss、最適化
45.1.5 機械学習の発展史主なアルゴリズムが生まれた理由
55.1.6 sklearn と Matplotlib ワークショップ実行、可視化、baseline の説明

合格ライン

タスク種別を言える、Xy を識別できる、train/test 分割の理由を説明できる、baseline スコアを証拠として残せるなら合格です。