4
3

More than 3 years have passed since last update.

これから実装されるウマ娘を機械学習で予想してみる

Last updated at Posted at 2021-05-09

概要

ウマ娘のリリース前に、「ウマ娘のリセマラランキングを機械学習で予想してみる」という記事を書きました。

リリース前に予想したものが概ね当たっていたため、予想の手順を振り返ります。
また、同じ手順で、未実装のウマ娘に対して以下のことを予想します。

  • 星1ウマ娘の予想
  • 強く設定されそうなウマ娘の予想

以前の記事はどう予想したのか

以下の方針を立てて、実際の競走馬の成績&アニメ1期終了後の人気投票の結果を分析しました。

  • 「勝ちきれないことが個性」の競走馬は、やや低い性能になるはずだ。
  • 人気の高い競走馬が集まっている成績傾向は、イベント特効や強さの点で、やや有利になるはずだ。

解析に使ったツールはpythonとscikit-learn、方法はクラスタリングです。
競走馬の成績はnetkeibaさん、人気投票の結果はウマ娘攻略まとめ速報さんのアンケート結果を参照しました。

勝ちきれないことが個性の馬

ナイスネイチャは有馬記念3年連続3着の記録がよく知られており、それが個性になっています。

nature_screen_3.png

ただ、ナイスネイチャの競走馬としての成績は優秀そのものです。

名前 生涯獲得賞金 出走数 うち1着 うち3着以内 主な勝利レース
ナイスネイチャ 6億1918万円 41 7(17%) 21(51%) 高松宮杯(勝利当時はG2)
キングヘイロー 5億0026万円 27 6(22%) 14(51%) 高松宮記念(勝利当時はG1)

ナイスネイチャが強すぎるとキャラ崩壊になりますので、やや抑えた性能になります。
競馬を元にしたゲームですので、似た成績や脚質の馬は同じようなステータスになります。

relation.png

ナイスネイチャとの類似度から、実装後のウマ娘のステータスを予想することができると考えました。

リリース前に予想したランキング

予想した結果、初期実装されるキャラクター(25頭)を、以下のように分類しました

分類区分 頭数
冷遇される(Aランク、Bランク) 8頭
優遇される(SSランク) 5頭
どちらでもない(Sランク) 12頭

冷遇される、ゲーム内の性能が不利になる

リリース前の予想:ゲーム内の性能的に不利になる馬

競走馬の成績から、冷遇されると予想した馬は以下の8頭です。

a_rank_1.png

結果:ゲーム内の性能的に不利になる馬

実際にリリースされたゲームでは、8人が星1(最も初期レアリティの低いキャラクター)として実装されました。

start_1_list.png

予想とほとんど一致しています。

優遇される、ゲーム内の性能は有利になる

リリース前の予想:優遇される馬

競走馬の成績とアニメ後の人気投票の結果から、優遇されると予想した馬は以下の5頭です。

ss_rank.png

結果:対人戦で優遇される馬

ゲーム内の対人戦(チーム競技場)では、200万人のアクティブユーザーがランキング形式で競争しています。
攻略サイトでは、その対人戦のトッププレイヤー(全体ランキング上位100人)が、どのキャラクターを使っているのかを定期的に集計しています。以下が、それぞれの距離で最も採用されているウマ娘です。
参考:GameWith チーム競技場使用率まとめ(5/7)

team_match.png

新規実装で予想がないミホノブルボンを除けば、予想とそれなりに重なっています。
画像にはありませんが、グラスワンダーの採用率はマイルで2位でした。

結果:イベントで優遇される馬

最初のイベント(キミの夢へと走り出せ)では、一部のキャラクターに獲得イベントポイントの補正がつきました。
初期実装されていたキャラクターのうち、補正がついたキャラは4人です。

event.png

スペシャルウィーク、オグリキャップに高いイベント補正がつきました。
グラスワンダー、ゴールドシップ、ウオッカについても、早い段階のイベントで高い補正がつくことが予想されます。

予想の範囲を実装予定のキャラクター全体に広げる

競走馬の成績や人気投票から予測した結果と、ゲーム内の性能は概ね対応しているように見えます。
解析の対象を、まだ育成対象になっていないキャラまで広げて予想します。

解析の方法は前回と同じ、クラスタリング(AffinityPropagation)です。
K-Meansなどの他のクラスタリング方法と比べると、

  • クラスタの分割数を自動で計算してくれる
  • 初期状態、初期化乱数の影響を受けにくい

といった特徴があるのですが、クラスタリングである都合上、「どのくらい似ていれば同じグループだと判定されるのか」の閾値は対象データによって変わります。ですので、対象データが増えることでグループ分けが変わることがあります。

予想の方法

前回の記事と同じく、以下のスクリプトを実行します。
ロジックは前回の記事をご参照ください。

実行するスクリプト
import pandas as pd
from sklearn.cluster import AffinityPropagation
from sklearn.preprocessing import MinMaxScaler

def main(file_name):
    # CSVからデータを読み込む
    df = pd.read_csv(file_name, index_col=0)

    # 正規化のためのノーマライザを取得
    normalizer = MinMaxScaler()

    # AffinityPropagationでクラスタリングする(初期化乱数は固定する)
    clustering = AffinityPropagation(random_state=5)
    cluster = clustering.fit_predict(normalizer.fit_transform(df))

    # クラスタリングした結果を格納
    # クラスターごとに所属するキャラクタの名前を一覧する
    cluster_list = {}
    for i, c in enumerate(cluster):
        key = str(c)
        if not (key in cluster_list):
            cluster_list[key] = []
        cluster_list[key].append(df.index[i])

    print(cluster_list)

解析対象のデータは以下の通りです。

解析対象のデータ(クリックで開きます)

データの各項目は以下の通りです。

  • 賞金額(賞金の総額です。今回は物価の変動は考慮しません)
  • G1勝数(最もグレードの高いレースに勝利した数です。ダート、海外を含みます)
  • 勝数(レースで1位を取った数です)
  • 着内(レースで3位よりも高い順位を取った数です)
  • 出走数(レースに出た数です)
  • 芝適正(netkeibaで「ダートよりも芝に向いている」と投票された割合です)
  • 距離適正(netkeibaで「長距離よりも短距離に向いている」と投票された割合です)
  • 重馬場(netkeibaで「雨で状態の悪くなったコースでも強い」と投票された割合です)
  • 脚質(netkeibaで「最初からペースを上げるウマだ」と投票された割合です)
名前 賞金額 G1勝数 勝数 着内 出走数 芝適正 距離適性 重馬場 脚質
ゴールドシップ 13億9776万円 6 13 18 28 96% 14% 88% 8%
ウオッカ 13億0487万円 7 10 18 26 94% 53% 41% 28%
スペシャルウィーク 10億9262万円 4 10 16 17 96% 18% 67% 8%
メジロマックイーン 9億9810万円 4 12 19 21 92% 7% 89% 91%
オグリキャップ 8億8830万円 4 22 29 32 69% 52% 82% 23%
エアグルーヴ 8億2196万円 2 9 17 19 97% 47% 50% 43%
マヤノトップガン 8億1039万円 4 8 17 21 92% 8% 44% 53%
ダイワスカーレット 7億8668万円 4 8 12 12 89% 51% 63% 95%
グラスワンダー 6億9164万円 4 9 10 15 93% 50% 60% 17%
シンボリルドルフ 6億8482万円 7 13 15 16 95% 27% 75% 82%
ライスシャワー 6億6686万円 3 6 13 25 98% 4% 65% 66%
ナイスネイチャ 6億1918万円 0 7 21 41 95% 38% 54% 24%
タイキシャトル 6億1548万円 5 11 13 13 69% 92% 92% 90%
トウカイテイオー 6億0470万円 4 9 9 12 98% 44% 60% 65%
スーパークリーク 5億5610万円 3 8 12 16 96% 7% 75% 78%
サクラバクシンオー 5億1549万円 2 11 14 21 93% 95% 46% 94%
キングヘイロー 5億0026万円 1 6 14 27 89% 65% 50% 17%
メジロライアン 4億8693万円 1 7 14 19 94% 43% 77% 19%
サイレンススズカ 4億5598万円 1 9 10 16 96% 50% 57% 99%
エルコンドルパサー 3億7607万円 3 8 11 11 62% 45% 91% 82%
ウイニングチケット 3億7177万円 1 6 9 14 97% 44% 49% 10%
マチカネフクキタル 3億7024万円 1 6 11 22 91% 36% 41% 10%
アグネスタキオン 2億2208万円 1 4 4 4 94% 50% 71% 48%
マルゼンスキー 7660万円 0 8 8 8 80% 50% 79% 94%
ハルウララ 112万円 0 0 12 113 19% 81% 35% 34%
アイネスフウジン 2億3600万円 2 4 7 8 94% 47% 50% 98%
アグネスデジタル 5億4562万円 6 12 21 32 50% 59% 90% 13%
アドマイヤベガ 2億9060万円 1 4 5 8 95% 48% 37% 7%
イクノディクタス 5億2660万円 0 9 22 51 94% 49% 75% 30%
イナリワン 4億0430万円 3 3 5 11 68% 13% 71% 19%
エアシャカール 5億4505万円 2 4 11 20 97% 37% 41% 10%
エイシンフラッシュ 7億5607万円 2 6 16 27 95% 38% 69% 21%
カレンチャン 4億4906万円 2 9 13 18 86% 95% 61% 88%
カワカミプリンセス 3億5089万円 2 5 9 17 93% 43% 66% 29%
キタサンブラック 18億7684万円 7 12 18 20 98% 10% 83% 98%
ゴールドシチー 1億7588万円 0 3 10 20 98% 44% 43% 23%
サクラチヨノオー 2億0890万円 2 5 7 10 85% 44% 44% 83%
サトノダイヤモンド 8億6512万円 2 8 12 18 97% 27% 64% 39%
シーキングザパール 4億7414万円 2 8 13 19 88% 98% 33% 11%
シリウスシンボリ 1億0870万円 0 4 9 22 88% 19% 78% 30%
シンコウウインディ 1億8844万円 1 5 9 17 5% 64% 80% 38%
スイープトウショウ 7億4482万円 3 8 14 24 94% 52% 44% 3%
スマートファルコン 9億9073万円 6 23 28 34 10% 52% 75% 94%
セイウンスカイ 6億1028万円 2 7 9 13 99% 12% 61% 99%
ゼンノロブロイ 11億1560万円 3 7 17 20 94% 44% 60% 50%
ダイタクヘリオス 6億8320万円 2 10 17 35 95% 82% 57% 96%
タマモクロス 4億8967万円 3 9 14 18 92% 22% 69% 18%
ツインターボ 1億8398万円 0 6 8 33 94% 50% 57% 97%
テイエムオペラオー 18億3518万円 7 14 23 26 93% 13% 89% 26%
トーセンジョーダン 7億0506万円 1 9 15 30 94% 37% 54% 70%
ナカヤマフェスタ 2億9324万円 1 5 8 15 94% 42% 70% 24%
ナリタタイシン 3億5170万円 1 4 11 15 98% 44% 43% 3%
ナリタブライアン 9億4742万円 5 12 16 21 94% 22% 71% 21%
ニシノフラワー 4億3590万円 3 7 11 16 94% 94% 42% 61%
バンブーメモリー 5億0716万円 2 8 20 39 92% 92% 63% 17%
ビコーペガサス 3億5785万円 0 4 12 27 85% 94% 42% 7%
ヒシアケボノ 3億2426万円 1 6 13 30 94% 98% 64% 94%
ヒシアマゾン 6億9582万円 2 10 15 20 91% 48% 64% 6%
ビワハヤヒデ 8億1769万円 3 10 15 16 96% 21% 73% 92%
ファインモーション 4億9451万円 2 8 11 15 94% 51% 39% 70%
フジキセキ 1億2965万円 1 4 4 4 86% 54% 75% 75%
マーベラスサンデー 6億0686万円 1 10 13 15 91% 42% 60% 28%
マチカネタンホイザ 5億0720万円 0 8 12 32 91% 29% 48% 21%
マンハッタンカフェ 5億2283万円 3 6 7 12 97% 6% 39% 18%
ミスターシービー 3億9080万円 4 8 11 14 96% 40% 75% 4%
ミホノブルボン 4億3730万円 3 7 8 8 94% 56% 86% 98%
メイショウドトウ 9億2133万円 1 10 20 27 92% 44% 71% 80%
メジロアルダン 2億4130万円 0 4 9 14 91% 42% 58% 69%
メジロドーベル 7億3342万円 5 10 14 21 97% 50% 73% 20%
メジロパーマー 5億2785万円 2 9 16 38 93% 18% 69% 99%
ヤエノムテキ 5億1830万円 2 8 15 23 83% 50% 49% 52%
ユキノビジン 1億5900万円 0 4 6 8 85% 54% 49% 85%

実行して、以下のような結果を得ました。

script_result.png

アニメ1期に出ていないキャラクターも多いため、人気投票の結果から予想することができません。
前回の予想でSSランクだった競走馬が多く含まれるグループ=今後の実装で優遇されるグループだと考えます。

また、ナイスネイチャが所属するグループ=初期レアリティの低くなるグループだと考えます。

予想の結果:優遇されるウマ娘

グループ 名前 備考
0 オグリキャップ 実装済(前回予想:SS)
0 アグネスデジタル -
9 ゴールドシップ 実装済(前回予想:SS)
9 ウオッカ 実装済(前回予想:SS)
9 スペシャルウィーク 実装済(前回予想:SS)
9 テイエムオペラオー 実装済(前回予想なし)
9 ナリタブライアン -
9 メジロドーベル -

予想の結果:初期レアリティの低くなるウマ娘

グループ 名前 備考
2 ナイスネイチャ 実装済(前回予想:A)
2 キングヘイロー 実装済(前回予想:A)
2 イクノディクタス -
2 シーキングザパール -
2 スイープトウショウ -
2 バンブーメモリー -
2 ビコーペガサス -
2 ヒシアマゾン -

予想の結果:判断の難しいグループ

前回予想:SS、前回予想:Aが混在するグループについては判断が難しいです。

グループ 名前 備考
6 グラスワンダー 実装済(前回予想:SS)
6 メジロライアン 実装済(前回予想:A)
6 アグネスタキオン 実装済(前回予想:A)
6 イナリワン -
6 エイシンフラッシュ -
6 カワカミプリンセス -
6 シリウスシンボリ -
6 タマモクロス -
6 ナカヤマフェスタ -
6 ミスターシービー -

まとめ

未実装ウマ娘の予想結果は以下の通りです。

星1ウマ娘の予想

  • イクノディクタス
  • シーキングザパール
  • スイープトウショウ
  • バンブーメモリー
  • ビコーペガサス
  • ヒシアマゾン

強く設定されそうなウマ娘の予想

  • アグネスデジタル
  • ナリタブライアン
  • メジロドーベル

記事中の画像について

本記事は、公式のガイドラインに従って、ゲーム中画面から取得した静止画だけを利用しています。

ウマ娘 配信ガイドライン
https://umamusume.jp/streaming_guidelines/

本コンテンツから取り込んだゲームプレイの動画や静止画を、共有サイトに投稿することができます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3