【DataRobot】SASUKE2020　出場者の成績予想をしてみた

# はじめに
※この記事はSASUKEに興味が無い人には、死ぬほどつまらないと思います。
年末といえばSASUKEですね！！

名もなきアスリート達のオリンピックと称されており、毎年熱戦が繰り広げられています。
今年は、コロナウイルスの影響で海外選手の参加が無いのが寂しいですが、長野誠さん、山田さんの復活などもあり盛り上がること必至ですね。

**森本裕介さんことSASUKE君の完全制覇**はあるのか？**長野誠さん、山田さんのクリア**はあるのか？はたまた**ダークホースの誕生**はあるのか？など興味が尽きないので、その辺りの分析をしてみたいと思います。
参加者が公開されていたので、過去データからDataRobotを使ってSASUKE2020の出場者の成績を予測しようと思います！
[SASUKE2020出場者](https://www.tbs.co.jp/sasuke_rising/player/)

DataRobotは、以前から機械学習の自動化ツールとして何度か聞いたことがあり興味もあったので無料トライアルを利用して使ってみようと思います。

＜筆者の参考情報＞
データ分析は見習いレベル。
趣味でSignateのコンペに２回出たことあり。
Pythonを使った簡単なデータ分析なら多少できる。

# データ収集
過去データに関しては、sasukepediaを参考にして過去１０大会分のデータを収集しました。
（こんなサイトがあるなんて、やっぱりSASUKE人気はすごい！！）
[sasukepedia](https://sasukepedia.fandom.com/wiki/Portal:Mai)
予測データに関しては、TBSのHPを参考にしました。

ただ、テーブルの項目が「参加者名、年齢、ゼッケン番号、肩書き、詳細クリア情報」だけだとあまりにも特徴量が少なすぎて、良い予測はできないかなと思いました。

そこで、以下の工夫を加えました。

 - 各参加者の特徴量に**身長**と**体重**を追加
 - 肩書きを、「**職業**と**世代**」に分離
 
SASUKEをクリアする上で身長と体重が小さい方が良いとよく言われるので、データ項目に追加しました。
また、職業別で見た時に何か傾向がある可能性があると思い敢えて世代と分離しました。
世代は、SASUKEオールスターズとか新世代とか言われてるやつです。

作成したテーブルは、以下のようになりました。
一応各カラムについて説明しておきます。

 - tournament:開催大会
 - no:ゼッケン番号
 - name：名前
 - age:年齢
 - height:身長
 - wight：体重
 - profession:職業
 - title:世代
 - 
![sasuke_rawdata.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121324/f3e45f78-d3c8-5c43-de0f-23295f6f6d44.png)

# データ可視化
## 収集データ概要
やっぱり身長と体重は、欠損値が多いですね。。
![スクリーンショット 2020-12-13 22.28.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121324/716c9ccb-b0b2-dc36-54f4-b9a09a1c2319.png)

## 過去10大会のクリア実績
 - 1stステージ脱落：846(85%)
 - 1stステージ通過：80(8%)
 - 2ndステージ通過：62(6%)
 - 3rdステージ通過：6(1%)
 - Finalステージクリア：1(1%)
 

3rdステージとFinalステージの難易度が半端ないですね。。

![特徴量 'result' 頻度分析.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121324/627ac7d3-2029-541c-5c3e-352c09e3f140.png)

## 過去10大会の職業概要
アスリートと職人がぶっちぎりで多いですね。
![SASUKE過去10大会職業集計.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121324/cd8acd9c-2fb0-eb95-803f-3e3604f381b2.png)

# モデル構築/予測
今回は、どのステージをクリアできるのかという分類問題としてDataRobotにモデル構築をしてもらいました。
待つこと、１５分くらいで最適なモデルが出てきた。DataRobotがチョイスしたベストなモデルと、重要な特徴量は以下の通りです。
![特徴量のインパクト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121324/62623e51-66c2-87ce-377f-d0e5568dcefd.png)

肩書きと職業が予測に大きな影響を与えるとのこと

# 予測
## 有力選手の予測結果は？
|ゼッケン番号|名前|世代|1stステージ脱落|1stステージ通過|2ndステージ通過|3rdステージ通過|Finalステージクリア|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|37|鈴木祐輔|SASUKE新世代|0.87|0.03|0.08|0.01|0.00|
|49|山本良幸|黒虎|0.66|0.01|0.32|0.00|0.00|
|50|伊佐嘉矩|黒虎|0.61|0.01|0.38|0.00|0.00|
|57|日置将士|SASUKE新世代|0.75|0.03|0.19|0.02|0.00|
|70|長崎峻侑|SASUKE新世代|0.71|0.05|0.23|0.01|0.00|
|71|又地諒|SASUKE新世代|0.88|0.02|0.06|0.05|0.00|
|72|菅野仁志|SASUKE新世代|0.87|0.01|0.11|0.01|0.00|
|82|荒木直之|森本世代|0.82|0.00|0.17|0.00|0.00|
|86|山本進悟|SASUKEオールスターズ|0.98|0.01|0.00|0.00|0.00|
|87|竹田敏浩|SASUKEオールスターズ|0.94|0.05|0.00|0.00|0.00|
|90|山本桂太朗|森本世代|0.42|0.42|0.11|0.03|0.01|
|95|多田竜也|森本世代|0.50|0.12|0.23|0.14|0.01|
|96|川口朋広|SASUKE新世代|0.29|0.02|0.66|0.02|0.00|
|97|山田勝己|SASUKEオールスターズ|0.98|0.02|0.00|0.00|0.00|
|98|長野誠|SASUKEオールスターズ|0.98|0.02|0.00|0.00|0.00|
|99|漆原裕治|SASUKE新世代|0.36|0.08|0.55|0.01|0.00|
|100|森本裕介|森本世代|0.25|0.08|0.49|0.16|0.02|

個人的にはかなり辛めの予測結果が出たんじゃ無いのかなと思いました、
これらの予測結果を元に以下のようなことが言えるかなと思いました。

 - **Finalステージのクリアする確率が最も高いのは、森本裕介でその確率は2%**。次に高いのは、多田竜也と山本桂太朗で1%。
 - 漆原裕治と川口朋広は、2ndステージ通過の確率は他選手と比べてかなり高いが、3rdステージ通過とFinalステージ通過の確率は低い
 - 3rdステージの通過率が最も高いのが、森本裕介でその確率は16%。多田竜也、又地諒と続く
 - **SASUKEオールスターズは全員が、90％以上の確率で1stステージ脱落**　→学習データにSASUKEオールスターズ全盛の記録が含まれていないので、含めたら結果が変わってくる可能性あり

## その他選手の結果は？
|ゼッケン番号|名前|1stステージ脱落|1stステージ通過|2ndステージ通過|3rdステージ通過|Finalステージクリア|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|93|樽美酒研二|0.80|0.08|0.10|0.01|0.00|
|85|武知海青|0.81|0.03|0.14|0.02|0.00|
|83|陣|0.84|0.03|0.12|0.01|0.00|
|73|鈴木舜映|0.85|0.14|0.00|0.00|0.00|
|74|菅田琳寧|0.86|0.12|0.00|0.02|0.00|
|91|白鳥大珠|0.86|0.05|0.07|0.02|0.00|
|60|小林よしひさ|0.87|0.04|0.07|0.02|0.00|
|92|藤田慶和|0.87|0.06|0.06|0.01|0.00|
|84|浦川翔平|0.89|0.06|0.03|0.02|0.00|
|56|高野海琉|0.90|0.03|0.03|0.04|0.00|

有力選手に含まれていない選手の中で、１stステージの通過確率が高い上位10選手を抽出しました。
樽美酒さんは、以前も出場経験があるのでこのような経験になったのかなと思います。
また、3rdステージの通過率が有力選手と比べて全体的に高く、特に**小林よしひさ**さんは、又地さんを凌駕する通過率となっているので、1stと2ndを通過すればダークホースの目になるのでは無いでしょうか？

# 終わりに
今回は、SASUKEを題材にDataRobotを使ってデータ分析をしてきました。
森本裕介ことSASUKE君が完全制覇に近いという直感がデータ分析で裏付けできたのは面白かったですね。ただ、2%は直感よりも少ないですね。
また、SASUKEオールスターズの予測結果は、学習データにオールスターズ全盛時代の記録が含まれていないこともありかなり厳しい予測結果になったと思っています。
ダークホースとしては、小林よしひささんに注目したいと思っています。

DataRobotは、モデル構築の自動化という印象が強かったのですが、データチェック、可視化の機能も優れており、データの異常に気づくことができました。
自分のような見習いレベルのデータ分析者にとって、データチェックから可視化、モデル構築、予測まで一気通貫でできるツールはとても便利だなと感じました。今回の作業時間のほとんどはデータ準備に費やしたので、この辺りがもっと簡単になる機能まで出てくるとより優れたプロダクトになるなと感じました。

もう少し時間があれば、こんなことにもチャレンジしてみたかったですね。

 - 学習データの増加
 - より詳細なステージ内でのクリア記録を元にした予測
 
2020/12/29の大会では、この予測結果と比較してどような結果が出るのか楽しみです。