LESSON

機械学習入門

田中VPoE:「Month 1 の分析で、離反する顧客の傾向が見えてきたね。でも、分析結果を見て人間が判断するだけでは限界がある。数千人の顧客一人ひとりについて『この人は離反しそうか?』を自動で予測できたらどうだろう?」

あなた:「それが機械学習ということですか?」

田中VPoE:「そうだ。データからパターンを学習して、まだ見ぬデータに対して予測を行う。まずは機械学習の基本的な考え方から理解していこう。」

機械学習とは

機械学習(Machine Learning)とは、データからパターンやルールを自動的に学習し、新しいデータに対して予測や判断を行う技術です。

従来のプログラミングとの違い

従来のプログラミング:

ルール + データ → 結果
  • 人間がルールを明示的にプログラムする
  • 例: if 購入回数 < 2 and 最終購入日 > 90日前 then 離反リスク高

機械学習:

データ + 結果 → ルール(モデル)
  • データと正解ラベルからモデルが自動的にルールを発見する
  • 例: 過去の顧客データと離反フラグから、離反パターンを自動抽出

なぜ機械学習が必要なのか

  1. 複雑なパターン: 人間では把握しきれない多次元のパターンを発見できる
  2. スケーラビリティ: 数百万件のデータにも一貫した判断を適用できる
  3. 継続的な改善: 新しいデータで再学習し、精度を向上できる

機械学習の基本用語

用語意味NetShop での例
特徴量(Feature)モデルの入力となる変数購入回数、平均購入額、最終ログイン日
ラベル(Label)予測したい目的変数離反フラグ(0 or 1)
学習(Training)データからパターンを抽出する過程過去データでモデルを構築
推論(Inference)新データに対して予測を行う新しい顧客の離反確率を予測
モデル(Model)学習されたルールの集合離反予測モデル

機械学習で解決できる問題

# NetShop社の例: 顧客データから離反を予測
import pandas as pd

# 特徴量(入力)
features = ['purchase_count', 'avg_purchase_amount', 'days_since_last_login',
            'support_ticket_count', 'membership_months']

# ラベル(予測対象)
label = 'is_churned'  # 0: 継続, 1: 離反

# 機械学習の基本的な流れ
# 1. データを準備する
# 2. モデルを選択する
# 3. モデルを学習させる
# 4. 新しいデータで予測する
# 5. 予測精度を評価する

機械学習が適さないケース

すべての問題に機械学習が最適なわけではありません。

  • データが少ない: 数十件程度ではパターンを学習できない
  • ルールが明確: 単純な条件分岐で十分なら、従来のプログラミングの方が適切
  • 説明責任が最優先: ブラックボックスが許されない規制領域(ただし解釈可能なモデルもある)
  • リアルタイム性が極端に求められる: 推論速度がミリ秒以下の要件

まとめ

  • 機械学習はデータからパターンを学習し、予測を行う技術
  • 従来のプログラミングと違い、ルールを人間が書くのではなくデータから学習する
  • 特徴量・ラベル・学習・推論の基本用語を押さえよう
  • すべての問題に機械学習が適するわけではない

チェックリスト

  • 機械学習と従来プログラミングの違いを説明できる
  • 特徴量・ラベル・学習・推論の用語を理解した
  • 機械学習が適するケース・適さないケースを判断できる

次のステップへ

次のレッスンでは、機械学習の3つの主要カテゴリ(教師あり学習・教師なし学習・強化学習)について学びます。NetShop の離反予測がどのカテゴリに当てはまるかを考えてみましょう。


推定読了時間: 15分