第3回まで無料

Python & 機械学習 入門コース

NumPy・pandas から、可視化・前処理・回帰・分類・モデル評価・教師なし学習、そして PyTorch と LLM まで。全50レッスンで「データを掃除し、モデルを作り、その数字を業務の言葉に翻訳できる」ところまで進みます。出力はすべて実際に実行した結果を載せています。

カリキュラム

全50レッスンを7つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ numpy・pandas・scikit-learn を使うためブラウザ内では実行できません。第2回で作る仮想環境か Jupyter Notebook で試してください。

Chapter 1 — 導入と NumPy(第1〜4回)

機械学習が何を自動化している技術なのかを整理し、環境を作って NumPy の配列を扱えるようにします。shape の読み方とブロードキャストは、この先ずっと使う土台です。

Chapter 2 — データ操作と可視化(第5〜13回)

CSV を読み、集計し、結合し、欠損と外れ値を掃除して、グラフで確かめる。最後は 408 行の汚れた売上データを、把握 → 掃除 → 分析の 3 ステップで通しで扱います。

5

pandas 入門 — Series と DataFrame

ラベル付きの 1 次元が Series、それを束ねた表が DataFrame。読み込んだら最初に打つ 3 つのメソッド。

🔒 ベーシック
6

CSV の読み込みと複数条件の絞り込み

read_csv のあと最初にやること、& と | による複数条件、loc と iloc の使い分け。

🔒 ベーシック
7

groupby で集計する

「店舗ごとの売上」を 1 行で出す。複数キー・agg・pivot_table、そして集計値を元の行へ戻す transform。

🔒 ベーシック
8

merge と concat でデータを結合する

横につなぐ merge と縦に積む concat。行が静かに増減する事故を、結合後の行数確認で防ぐ。

🔒 ベーシック
9

欠損値の扱い

どこにどれだけ欠けているかを把握し、捨てるか埋めるかを判断する。SimpleImputer で訓練データの値を持ち回る。

🔒 ベーシック
10

外れ値・重複・型のクリーニング

IQR 法と 3σ 法の違い、重複行の見つけ方、カンマ入り数値や表記ゆれの直し方。

🔒 ベーシック
11

matplotlib で可視化する

折れ線・棒・散布図・ヒストグラムの使い分けと、複数のグラフを並べる subplots の基本形。

🔒 ベーシック
12

seaborn で分布と相関を見る

DataFrame と列名を渡すだけで描ける seaborn。boxplot と violinplot の違い、相関ヒートマップ、pairplot。

🔒 ベーシック
13

【実践】売上データを探索的に分析する(EDA)

欠損・重複・外れ値・表記ゆれを含む 408 行の売上データを、把握 → 掃除 → 分析の 3 ステップで通しで扱う。

🔒 ベーシック

Chapter 3 — 機械学習の基礎(第14〜22回)

訓練データとテストデータを分ける理由から、線形回帰・評価指標・スケーリング・パイプラインまで。最後は数値とカテゴリが混在するデータで住宅価格の予測モデルを作りきります。

14

機械学習の用語と種類

分類・回帰・クラスタリングをコードの上で並べて見分ける。パラメータとハイパーパラメータの違いまで。

🔒 ベーシック
15

scikit-learn の共通 API

モデルは fit → predict → score、前処理は fit → transform。どのアルゴリズムでも書き方は変わらない。

🔒 ベーシック
16

訓練データとテストデータ・汎化性能

train_test_split の 3 つの引数と、過学習が実測で見える瞬間。時系列データは日付で切る。

🔒 ベーシック
17

線形回帰と最小二乗法

coef_ と intercept_ の読み方、重回帰の係数の解釈、そして残差平方和が最小になる直線を実測で確かめる。

🔒 ベーシック
18

回帰の評価指標(MAE・RMSE・R²)

MAE と RMSE の使い分け、R² が意味するもの、そしてベースラインと比べなければ判断できない理由。

🔒 ベーシック
19

特徴量のスケーリング

前処理を 1 行足すだけで正解率が 0.722 → 0.963 に。3 つのスケーラーの使い分けと、やってはいけない手順。

🔒 ベーシック
20

カテゴリ変数のエンコーディング

One-Hot と Ordinal の使い分けは「大小関係に意味があるか」だけ。種類が多い列への対処も。

🔒 ベーシック
21

パイプラインと ColumnTransformer

前処理とモデルを 1 つにまとめ、テストへの fit という経路そのものを消す。列ごとに違う処理も 1 本化。

🔒 ベーシック
22

【実践】住宅価格を予測する(回帰)

探索 → パイプライン構築 → 比較 → 解釈。数値とカテゴリが混在する 600 件のデータで回帰モデルを作りきる。

🔒 ベーシック

Chapter 4 — 分類とアルゴリズム(第23〜30回)

ロジスティック回帰から k 近傍法・決定木・ランダムフォレスト・勾配ブースティング・SVM まで、分類の主要な道具を実測で比べます。正解率が当てにならない場面の見分け方もここで扱います。

23

ロジスティック回帰(分類の基本)

「回帰」なのに分類な理由。シグモイド関数が直線の出力を確率に変える仕組みと、係数の読み方。

🔒 ベーシック
24

分類の評価指標(適合率・再現率・F1)

正解率 97 % でも使えないモデルがある。適合率=空振りの少なさ、再現率=見逃しの少なさ。

🔒 ベーシック
25

混同行列と ROC 曲線・AUC

どこで間違えたかを混同行列で見て、AUC でしきい値に依存しない性能を測り、最後にしきい値そのものを動かす。

🔒 ベーシック
26

k 近傍法(k-NN)

近傍 k 件の多数決。k の決め方、次元が増えると弱くなる理由、そして学習より予測が遅いという性質。

🔒 ベーシック
27

決定木と枝刈り

学習した結果をそのまま if 文のルールとして読める。分岐の選び方と、放っておくと必ず起きる過学習への対処。

🔒 ベーシック
28

ランダムフォレスト

弱い木を大量に集めて多数決を取ると強くなる。木をバラバラにする工夫と、OOB スコアという便利な副産物。

🔒 ベーシック
29

勾配ブースティング

前の木の残差を次の木が学ぶ。学習率と木の本数の関係、そして早期終了で本数を自動で決める方法。

🔒 ベーシック
30

サポートベクターマシン(SVM)

余白が最大になる境界を選ぶ。カーネルで曲がった境界を引く仕組みと、C・gamma の効き方。

🔒 ベーシック

Chapter 5 — モデルの精度を上げる(第31〜36回)

交差検証で評価の揺れを抑え、探索でパラメータを決め、過学習と不均衡に対処する。最後は解約予測モデルを、しきい値を期待利益で決めるところまで作ります。

Chapter 6 — 教師なし学習(第37〜42回)

正解ラベルの無いデータをグループに分け、次元を減らし、異常を見つける。最後は 1300 人の顧客をセグメントに分け、名前と施策をつけるところまで進みます。

Chapter 7 — ディープラーニングと AI 応用(第43〜50回)

NumPy だけでニューラルネットの中身を確かめてから、PyTorch で学習ループと CNN を書きます。最後はテキスト処理・LLM・モデルの保存とデプロイ、そして全50レッスンの振り返りです。

43

ニューラルネットワークの仕組み

NumPy だけで順伝播を計算し、勾配降下法を手で回す。活性化関数が無ければ何層重ねても線形回帰と同じ。

🔒 ベーシック
44

PyTorch 入門 — テンソルと自動微分

NumPy 配列とほぼ同じテンソル、勾配を自動計算する autograd、nn.Module でのモデル定義。

🔒 ベーシック
45

PyTorch の学習ループを書く

zero_grad → forward → loss → backward → step の 5 行。この並びは CNN でも Transformer でも変わらない。

🔒 ベーシック
46

CNN と画像分類

全結合層では位置関係が失われ、パラメータが爆発する。畳み込みがそれを解く仕組みと、常に強いとは限らない現実。

🔒 ベーシック
47

学習を安定させる技術(Dropout・早期終了)

パラメータ 73,985 個・データ 280 件で起きる極端な過学習を、4 つの対策で抑える。早期終了は重みを戻すまでが実装。

🔒 ベーシック
48

テキストデータと TF-IDF

テキストを数値に変える古典的かつ現役の方法。珍しい単語を重視する仕組みと、意味を理解しない限界。

🔒 ベーシック
49

大規模言語モデル(LLM)と API の使い方

学習データ 0 件で分類できるゼロショット。ただし件数が増えるほど従来手法が有利になる、その境界線。

🔒 ベーシック
50

モデルの保存とデプロイ・総まとめ

パイプラインごと保存し、まずバッチ処理を検討する。そして運用後に精度が落ちることに気づく仕組みを作る。

🔒 ベーシック

全50レッスンを終えたら、次はモデルを動かすサーバー側を Linux 入門 で、予測結果を返す Web アプリを Django 入門 で。メンバーシップで全コースが解放されます。