プランナーでも使えるかも!
AzureMLを使った
ソシャゲ数値解析
2016/07/13
@kotamat
自己紹介
• GARAGE STER技術担当ディレクター
• Webサービスのサーバーサイドをやってきた
• ソシャゲ事業をやっていた時は、開発から運用ま
でやっていた。
ソシャゲ運用時に
言われること
次回のイベントのレベル設計
したいから
アクティブユーザのカード情報
とってくれる?
うっす
アクティブユーザ
テーブル
言われること
ユーザカード管理
テーブル
user_idで
リレーション
card_idで
リレーション
カードマスタ
テーブル
csvで管理
アクティブユーザ
テーブル
言われること
ユーザカード管理
テーブル
user_idで
リレーション
card_idで
リレーション
カードマスタ
テーブル
JOINしてcsv
書き出し
vlookupで
リレーション
あざす
はいよ
んーやっぱりカードだけじゃなくて
デッキの状態も知りたい
お、おう。
アクティブユーザ
テーブル
言われること
ユーザカード管理
テーブル
card_idで
リレーション
カードマスタ
テーブル
ユーザデッキ
管理テーブル
JOINしてcsv
書き出し
vlookupで
リレーション
あざす
はいよ
アクティブユーザの代わりに
いべんt
やだ
‥とはならないけど
取りたいデータは
自分でとりたいよね
そこで
できること
• GUIでデータのやり取りを構築できる
• API化してサービス化ができる
• 大量のデータをさばける
• もちろん機械学習できる
• R、Pythonができる
• テンプレートが充実している
今日やること
アクティブユーザのデッキの平
均レベルとそのユーザのレベル
の相関関係
やること
• 各データ(マスタデータ、DBデータ)をcsv化
• 結合・カラム毎の計算等をし、ユーザのレベルとデッキレ
ベルを持ったテーブルを生成
• ユーザのレベルとデッキレベルの相関性を計算
• 今回は例として、線形回帰分析を行う
• 学習用データとテストデータを分け、解析し、整合性を確
かめる
データ構成
user_id user_rank ucid user_id card_id exp
udid user_id 1 2 3 4 5 6 card_id level_type
アクティブ
ユーザテーブル
ユーザカード
テーブル
ユーザデッキ
テーブル
カードマスタ
アクティブユーザのデッキ
作成
user_id user_rank
id user_id 1 2 3 4 5 6
アクティブ
ユーザテーブル
ユーザデッキ
テーブル
udid user_id 1 2 3 4 5 6
アクティブ
ユーザのデッキ
ユーザカードのレベル計算
ユーザカード+α
id user_id card_id exp
card_id level_type
ユーザカード
テーブル
カードマスタ
ucid user_id card_id exp
level_t
ype
expとlevel_typeで
levelを計算
card_idを消す
ユーザカード
+level
ucid user_id level
デッキ毎のカードレベル
アクティブ
ユーザのデッキ
ユーザカード
+level
udid user_id card_level_1
udid user_id 1 2 3 4 5 6 ucid user_id level
udid user_id card_level_2udid user_id card_level_3udid user_id card_level_4udid user_id card_level_5udid user_id card_level_6
udid user_id cl1 cl2 cl3 cl4 cl5 cl6
デッキ毎の
カードレベル デッキ毎の
カードレベル
ユーザのレベルとデッキのカー
ド平均レベル
udid user_id cl1 cl2 cl3 cl4 cl5 cl6
デッキ毎の
カードレベル
udid user_id cl_ave
デッキ毎の
カードレベル平均
user_id user_rank
アクティブ
ユーザテーブル
cl1~6の
平均
user_rank cl_ave
ユーザのレベルと
デッキレベル平均
相関性の検証
user_rank cl_ave
ユーザのレベルと
デッキレベル平均
学習用データ
でuser_rankを
線形回帰分析
テスト用データを使っ
て分析結果を検証
user_rank cl_ave score
デモ
まとめ
• データの結合、分析がプログラミングを知っていなくてもできる
• ただし、細かい計算をする場合は、R,Pythonで計算したほうが良か
ったりする
• 途中で計算を追加したり、削除したりするのが楽
• なので、分析方法や、分析パラメータをいじって微調整することが可
能
• 一回作ってしまえば、入力データを変えるだけで、最新のデータで分
析可能

Azure ml発表資料