2026-04-29·実装·⏱ 約 5 分
scikit-learn 入門 ─ 30 分で覚える ML 7 ステップ
Python で機械学習を始めるなら scikit-learn が最短ルート。前処理 → 学習 → 評価 → ハイパラ調整までの 7 ステップを最小コードで一気に体験します。
scikit-learn は Python の機械学習ライブラリのデファクトスタンダード。一貫した API で 100 種類以上のアルゴリズムが使え、入門から実務まで活躍します。本記事では 7 ステップで全体像を掴みます。
Step 1 ─ データ読み込み
iris データセットで遊ぶ
from sklearn.datasets import load_iris
import pandas as pd
data = load_iris(as_frame=True)
X, y = data.data, data.target
print(X.head())
print(y.value_counts())Step 2 ─ 訓練 / テスト分割
8:2 で分割
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)Step 3 ─ 前処理(スケーリング)
標準化
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test) # fit せず transform のみ!💡 fit/transform/fit_transform
fit = 統計量を学習。transform = それで変換。テストデータには fit_transform を使わない(リーク防止)。
Step 4 ─ モデル学習
ロジスティック回帰
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=1000)
model.fit(X_train_scaled, y_train)Step 5 ─ 評価
精度・混同行列・分類レポート
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
y_pred = model.predict(X_test_scaled)
print('Accuracy:', accuracy_score(y_test, y_pred))
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred, target_names=data.target_names))Step 6 ─ 交差検証
5-fold CV
from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X_train_scaled, y_train, cv=5, scoring='accuracy')
print(f'CV mean: {scores.mean():.3f} ± {scores.std():.3f}')Step 7 ─ ハイパラ最適化(GridSearch)
C パラメータの探索
from sklearn.model_selection import GridSearchCV
params = {'C': [0.01, 0.1, 1, 10, 100]}
grid = GridSearchCV(LogisticRegression(max_iter=1000), params, cv=5)
grid.fit(X_train_scaled, y_train)
print('Best C:', grid.best_params_, 'CV:', grid.best_score_)おまけ ─ Pipeline でまとめる
前処理+学習を 1 つに
from sklearn.pipeline import Pipeline
pipe = Pipeline([
('scaler', StandardScaler()),
('clf', LogisticRegression(max_iter=1000)),
])
pipe.fit(X_train, y_train)
pipe.score(X_test, y_test)🛠 実務での重要性
Pipeline を使うと『前処理を訓練データだけで fit してテストにも適用』が自動化。データリークを防ぎ、再現性も高まります。
次のステップ
- [統計検定 2 級 教科書](/textbook/grade-2) ─ 線形回帰・ロジスティック回帰の理論
- [E 資格 教科書](/certs/e-shikaku/textbook) ─ DL への発展
- [Python 環境構築](/blog/python-setup-for-stats) ─ 環境がまだの方
- [AIエンジニア統計チートシート](/blog/ai-stats-cheatsheet) ─ 必要な統計知識
Related Articles
関連記事
- 2026-04-30実装OpenAI API 実装入門 ─ Chat / Embeddings / Function CallingOpenAI API を使ったプロダクション開発の基礎。Chat Completion・Embedding・Function Calling・ストリーミング・コスト管理まで実装パターンを網羅。
- 2026-04-30実装Vercel で AI アプリをデプロイする ─ Next.js + AI SDK 入門Vercel にデプロイする最短ルート。Next.js の AI SDK + AI Gateway で OpenAI/Claude を統合し、ストリーミングチャット UI を 1 時間で公開する手順。
- 2026-04-30実装Streamlit で 1 時間で ML デモアプリ ─ 転職に効くポートフォリオPython だけで動くインタラクティブな ML デモを Streamlit で作る方法。データ可視化・ファイルアップロード・モデル予測 UI までの最小実装。