>100 Views
June 15, 26
スライド概要
何卒よろしくお願い申し上げます。 一流のIT研修講師を目指し、日々研鑽を続けております。 本資料は外部公開用としてご提供するものです。
うさうさ研修工房 🐰 FOR PRACTITIONERS | 中堅・実務エンジニア向け 実務で外さない 機械学習ワークフロー scikit-learn / PyTorch / TensorFlow の選び方と、再現性・リーク対策。 🛠 中堅・実務/設計と落とし穴 面白きこともなき世を面白く(高杉晋作) | 2026-06-15
WHY 中堅が外さない 3原則 結論 精度を上げる前に「漏らさない・正しく測る・再現できる」。これが実務の信頼性を決めます。 リークを防ぐ 正しく測る 再現できる 前処理は学習データだけにfit。未来情 報を混ぜない。 交差検証+目的に合った指標。 accuracy偏重を避ける。 seed固定・バージョン記録・Pipeline 化。 うさうさ研修工房 🐰 面白きこともなき世を面白く 1 / 11
WHAT フレームワークの選び方 観点 scikit-learn PyTorch TensorFlow / Keras 得意領域 表形式・古典的 ML 研究・柔軟な深層学習 本番運用・大規模 学習曲線 ゆるやか 中(Python的で直感的) 中(Kerasは平易) 代表用途 回帰/分類/前処理 画像/NLP/実験 モバイル/サービング まず選ぶなら 表データはこれ 深層学習の入口 デプロイ重視 出典 Pedregosa+ 2011 Paszke+ 2019 Abadi+ 2016 ※「迷ったら表データ=scikit-learn、深層学習=PyTorchで学び、運用要件でTensorFlowを検討」が無難な出発点(所感)。 うさうさ研修工房 🐰 面白きこともなき世を面白く 2 / 11
RISK · 査読付き データリーク:最も多い失敗 事実(査読付き論文より) 現場で起きるリーク例 ML応用研究の再現性調査で、データリークが 17分野・294論文 に影響し、過度に楽観的な結論を生んでいた。漏えいは 8類型 に整理され、model info sheetでの予防が提案された。 • 分割“前”に標準化やfillnaをした • テスト統計量で特徴量を作った • 時系列を無視してシャッフル分割 • 重複/同一被験者が両側に混在 • 目的変数由来の特徴を入れた Kapoor & Narayanan (2023) Patterns 4(9):100804 うさうさ研修工房 🐰 面白きこともなき世を面白く 3 / 11
HOW · 公式 リーク対策: Pipeline × 交差検証 ✗ アンチパターン ✓ 推奨パターン scaler.fit(X) # 全体でfit=漏えい pipe = Pipeline([ ("sc", StandardScaler()), X = scaler.transform(X) ("clf", LogisticRegression())]) Xtr,Xte = split(X) cross_val_score(pipe, X, y, cv=5) 分割前にfitすると、テストの情報が学習へ漏れる。 model.fit(Xtr, ytr) うさうさ研修工房 🐰 面白きこともなき世を面白く Pipelineが各foldの“学習側だけ ”でfit→transformを自動 で守る。 4 / 11
EVALUATION 評価指標: accuracyだけ見ない Accuracy Precision / Recall 全体の正答率。不均衡データだと誤解を生む。 誤検知 vs 見逃しのトレードオフを表す。 F1スコア ROC-AUC PとRの調和平均。不均衡時の定番。 閾値に依らない識別力。確率出力の評価に。 混同行列 回帰: RMSE/MAE/R² どこで間違えたかを可視化。最初に見る。 誤差の大きさと説明力。用途で選ぶ。 うさうさ研修工房 🐰 面白きこともなき世を面白く 5 / 11
TUNING ハイパーパラメータ探索 from sklearn.model_selection import GridSearchCV 要点 grid = {"clf__C": [0.1, 1, 10]} • 探索もPipeline内で(リーク防止) gs = GridSearchCV(pipe, grid, cv=5, • scoringは目的に合わせる • 選定と評価は分ける=入れ子 CV • 探索しすぎはテストへの過適合 scoring="f1_macro") gs.fit(X_tr, y_tr) gs.best_params_ # 厳密な汎化性能は入れ子CVで cross_val_score(gs, X, y, cv=5) うさうさ研修工房 🐰 面白きこともなき世を面白く 6 / 11
DEEP LEARNING 深層学習への橋渡し(最小形) PyTorch TensorFlow / Keras import torch.nn as nn from tensorflow import keras net = nn.Sequential( net = keras.Sequential([ nn.Linear(4, 16), nn.ReLU(), keras.layers.Dense(16,"relu"), nn.Linear(16, 3)) keras.layers.Dense(3)]) # 学習ループは自分で書く(柔軟) net.compile(...); net.fit(...) 研究・自由度重視。Pythonらしく書ける。 高レベルAPIで手早く。運用・サービングが充実。 うさうさ研修工房 🐰 面白きこともなき世を面白く 7 / 11
REPRODUCIBILITY 再現性チェックリスト 乱数を固定 環境を記録 random_state / seed を全工程で統一。 ライブラリ版を requirements で固定。 工程をコード化 情報シート 前処理〜評価をPipeline/スクリプト化。 データ分割・指標・前提を1枚で明文化(査読推 奨)。 うさうさ研修工房 🐰 面白きこともなき世を面白く 8 / 11
CHECKLIST 中堅の到達目標チェック • 前処理を学習データだけにfitできている • 交差検証+目的に合う指標で評価している • ハイパラ選定と汎化評価を分離している(入れ子CV) • seed固定・依存バージョン記録で再現できる • 表データはsklearn、深層はPyTorch/TFと使い分けできる • 公式ドキュメントと一次論文で根拠を確認している うさうさ研修工房 🐰 面白きこともなき世を面白く 9 / 11
参考リンク集(実務・中堅向け) 出典は必ず一次情報に当たること。ラベル= [公式]公式ドキュメント / [査読付き]海外の査読付き論文 / [国内]国内学術誌。 公式 scikit-learn User Guide https://scikit-learn.org/stable/user_guide.html 公式 scikit-learn 交差検証 (Cross-validation) https://scikit-learn.org/stable/modules/cross_validation.html 公式 scikit-learn Pipeline / 前処理合成 (compose) https://scikit-learn.org/stable/modules/compose.html 公式 PyTorch Tutorials / Docs https://pytorch.org/tutorials/ 公式 TensorFlow Guide / Keras https://www.tensorflow.org/guide 査読付き Paszke et al. (2019) PyTorch, Advances in NeurIPS 32:8024-8035 https://papers.neurips.cc/paper_files/paper/2019/hash/bdbca288fee7f92f2bfa9f7012727740-Abstract.html 査読付き Abadi et al. (2016) TensorFlow: A System for Large-Scale Machine Learning, USENIX OSDI 16:265-283 https://www.usenix.org/conference/osdi16/technical-sessions/presentation/abadi 査読付き Kapoor & Narayanan (2023) Leakage and the reproducibility crisis, Patterns 4(9):100804 https://doi.org/10.1016/j.patter.2023.100804 うさうさ研修工房 🐰 面白きこともなき世を面白く