機械学習入門
田中VPoE:「Month 1 の分析で、離反する顧客の傾向が見えてきたね。でも、分析結果を見て人間が判断するだけでは限界がある。数千人の顧客一人ひとりについて『この人は離反しそうか?』を自動で予測できたらどうだろう?」
あなた:「それが機械学習ということですか?」
田中VPoE:「そうだ。データからパターンを学習して、まだ見ぬデータに対して予測を行う。まずは機械学習の基本的な考え方から理解していこう。」
機械学習とは
機械学習(Machine Learning)とは、データからパターンやルールを自動的に学習し、新しいデータに対して予測や判断を行う技術です。
従来のプログラミングとの違い
従来のプログラミング:
ルール + データ → 結果
- 人間がルールを明示的にプログラムする
- 例:
if 購入回数 < 2 and 最終購入日 > 90日前 then 離反リスク高
機械学習:
データ + 結果 → ルール(モデル)
- データと正解ラベルからモデルが自動的にルールを発見する
- 例: 過去の顧客データと離反フラグから、離反パターンを自動抽出
なぜ機械学習が必要なのか
- 複雑なパターン: 人間では把握しきれない多次元のパターンを発見できる
- スケーラビリティ: 数百万件のデータにも一貫した判断を適用できる
- 継続的な改善: 新しいデータで再学習し、精度を向上できる
機械学習の基本用語
| 用語 | 意味 | 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分