• 回帰
線形回帰/決定木/勾配ブースティング
• 分類
ロジスティック回帰/SVM/決定木/勾配ブースティング
• 教師なし
k-means/PCA
前提:使うデータ
各ポケモンを次の数値ベクトルで表す。
X = [HP, 攻撃, 防御, 特攻, 特防, 素早さ]
補助的に
合計 = HP + 攻撃 + 防御 + 特攻 + 特防 + 素早さ
を使うことはあるが、学習入力には基本入れない(漏洩防止)。
⸻
- 教師なし学習(構造把握)
PCA(主成分分析)
目的
• 種族値設計の「支配的な軸」を抽出する
入力
• 全ポケモンの X
出力
• 主成分 PC1, PC2, PC3 …
具体的に起きること
• PC1:ほぼ「合計種族値」
• PC2:攻撃型 ↔ 耐久型
• PC3:素早さ特化 ↔ 鈍足高火力
解釈例
• ミュウツーは PC1 が突出
• フーディンは「高PC1+高PC3」
• カビゴンは「高PC1+耐久側」
👉 世界観の圧縮・可視化
⸻
k-means
目的
• 種族値だけでの自動役割分類
入力
• PCA後の低次元特徴 or 生の X
設定例
k = 3〜5
出力(例)
• クラスタA:高速アタッカー
• クラスタB:高耐久
• クラスタC:バランス型
• クラスタD:低種族値群
検証例
• 進化前後が同クラスタか?
• 伝説は必ず同クラスタか?
👉 人間の感覚的分類が数値的に妥当かを検証
⸻
- 回帰(数値関係のモデル化)
線形回帰
問題設定
• 目的変数:合計種族値
• 説明変数:HP, 攻撃, 防御, 特攻, 特防, 素早さ
結果
• 係数はすべて ≈1
• 誤差ほぼゼロ
意味
• データが正しく定義されているかの健全性チェック
👉 基準モデル
⸻
決定木回帰
問題設定
同上
出力例(ルール)
if 素早さ > 100 and 特攻 > 120:
合計 ≈ 非常に高い
elif HP > 140 and 防御 > 100:
合計 ≈ 高い
else:
合計 ≈ 中
意味
• 「どんな能力配分が強さを作るか」を文章で説明可能
👉 設計思想の可視化
⸻
勾配ブースティング回帰
問題設定
同上
出力
• 非線形な能力相互作用を学習
• 素早さ × 攻撃
• HP × 防御 × 特防
使い方
• 「同じ合計なら、どの配分が最も“強キャラらしい”か」
• 仮想ポケモンの設計最適化
👉 数値設計の最終モデル
⸻
- 分類(境界と判断)
ロジスティック回帰
例1:進化後 or 進化前(2値)
• 目的変数:進化後=1 / 進化前=0
• 入力:X
出力
• 各能力の寄与度(係数)
解釈
• 合計・攻撃・特攻が強く効く
• 素早さ単独では弱い
👉 「進化とは何か」を数値で説明
⸻
SVM
問題設定
同上
出力
• 進化前/後を分ける最大マージン境界
見るポイント
• 境界がシャープか曖昧か
• 例外ポケモンの存在
👉 分類可能性そのものの評価
⸻
決定木分類
出力例
if 合計 > 500:
進化後
elif 攻撃 > 100 and 素早さ > 90:
進化後
else:
進化前
👉 人間が読める進化判定ロジック
⸻
勾配ブースティング分類
目的
• 分類精度の上限
問い
• 「種族値だけで進化・伝説・強キャラをどこまで当てられるか?」
結果の使い方
• 当たらないもの=数値以外(タイプ・技)に依存
👉 モデルの限界=世界設定の境界
⸻
全体まとめ
目的 手法 何が分かるか
構造 PCA 能力設計の軸
分類 k-means 役割分布
数値関係 線形回帰 定義の正しさ
ルール 決定木 判断条件
精度 勾配ブースティング 最適配分
境界 SVM 分離可能性