機械学習から始める Python 入門
Python は機械学習で最も広く使われている言語です。pandas・NumPy・scikit-learn といったライブラリがそろい、データの読み込みからモデルの学習・評価・API 化までを 1 つの言語で書けます。本シリーズでは、機械学習のアルゴリズムをまず TDD で自作し、次に scikit-learn に置き換えて結果を突き合わせながら、Python の書き方とエコシステムを学びます。
Python 版は本シリーズの参照実装であり、Kotlin 版とともに Jupyter Lab によるデータの探索と可視化も扱います。
特徴
- 動的型付けと型ヒント: 型を書かずに試せる手軽さと、型ヒントと mypy による静的チェックを両立できる
- データクラス:
@dataclass でデータを表す型を簡潔に定義できる
- 豊富な機械学習ライブラリ: pandas・NumPy・scikit-learn などが成熟している
- 対話的な探索: Jupyter Lab でデータを探索し、分かったことをテストと本番コードに移せる
開発環境
ライブラリ
選定の理由は ADR 001 を参照してください。
サンプルコード
サンプルコードは apps/python/ にあります。学習データの配置方法は 第 1 章 の「題材とデータ」を参照してください。
cd apps/python
uv sync
uv run pytest
各章の実装は lib/chapterNN/、テストは test/chapterNN/、探索用の Notebook は notebooks/ にあります。uv run python -m lib.chapterNN で章ごとの結果を表示できます。
章構成
第 1 部: 機械学習と TDD の基本サイクル
第 2 部: 開発環境と自動化
第 3 部: 回帰と実践的な前処理
第 4 部: モデルの改善と評価
第 5 部: 教師なし学習と実運用
付録