azure ml発表資料

33
ププププププププププププAzureML ププププ ププププププププ 2016/07/13 @kotamat

Upload: kota-matsumoto

Post on 11-Feb-2017

66 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Azure ml発表資料

プランナーでも使えるかも!AzureMLを使ったソシャゲ数値解析

2016/07/13@kotamat

Page 2: Azure ml発表資料

自己紹介• GARAGE STER技術担当ディレクター• Webサービスのサーバーサイドをやってきた• ソシャゲ事業をやっていた時は、開発から運用までやっていた。

Page 3: Azure ml発表資料

ソシャゲ運用時に言われること

Page 4: Azure ml発表資料

次回のイベントのレベル設計したいからアクティブユーザのカード情報とってくれる?

うっす

Page 5: Azure ml発表資料

アクティブユーザテーブル

言われることユーザカード管理

テーブル

user_idでリレーション

card_idでリレーション

カードマスタテーブル

csvで管理

Page 6: Azure ml発表資料

アクティブユーザテーブル

言われることユーザカード管理

テーブル

user_idでリレーション

card_idでリレーション

カードマスタテーブル

JOINしてcsv書き出し

vlookupでリレーション

Page 7: Azure ml発表資料

あざす

はいよ

Page 8: Azure ml発表資料

んーやっぱりカードだけじゃなくてデッキの状態も知りたい

お、おう。

Page 9: Azure ml発表資料

アクティブユーザテーブル

言われることユーザカード管理

テーブルcard_idでリレーション

カードマスタテーブル

ユーザデッキ管理テーブル

JOINしてcsv書き出し

vlookupでリレーション

Page 10: Azure ml発表資料

あざす

はいよ

Page 11: Azure ml発表資料

アクティブユーザの代わりにいべんt

やだ

Page 12: Azure ml発表資料

‥とはならないけど

Page 13: Azure ml発表資料

取りたいデータは自分でとりたいよね

Page 14: Azure ml発表資料

そこで

Page 15: Azure ml発表資料
Page 16: Azure ml発表資料

できること• GUIでデータのやり取りを構築できる• API化してサービス化ができる• 大量のデータをさばける• もちろん機械学習できる• R、 Pythonができる• テンプレートが充実している

Page 17: Azure ml発表資料

今日やること

Page 18: Azure ml発表資料

アクティブユーザのデッキの平均レベルとそのユーザのレベルの相関関係

Page 19: Azure ml発表資料

やること• 各データ (マスタデータ、 DBデータ )を csv化• 結合・カラム毎の計算等をし、ユーザのレベルとデッキレベルを持ったテーブルを生成• ユーザのレベルとデッキレベルの相関性を計算

• 今回は例として、線形回帰分析を行う• 学習用データとテストデータを分け、解析し、整合性を確かめる

Page 20: Azure ml発表資料

データ構成

Page 21: Azure ml発表資料

user_id user_rank ucid user_id card_id exp

udid user_id 1 2 3 4 5 6 card_id level_type

アクティブユーザテーブル

ユーザカードテーブル

ユーザデッキテーブル カードマスタ

Page 22: Azure ml発表資料

アクティブユーザのデッキ作成

Page 23: Azure ml発表資料

user_id user_rank

id user_id 1 2 3 4 5 6

アクティブユーザテーブル

ユーザデッキテーブル

udid user_id 1 2 3 4 5 6

アクティブユーザのデッキ

Page 24: Azure ml発表資料

ユーザカードのレベル計算

Page 25: Azure ml発表資料

ユーザカード+α

id user_id card_id exp

card_id level_type

ユーザカードテーブル

カードマスタ

ucid user_id card_id exp level_type

expと level_typeで levelを計算card_idを消す

ユーザカード+level

ucid user_id level

Page 26: Azure ml発表資料

デッキ毎のカードレベル

Page 27: Azure ml発表資料

アクティブユーザのデッキユーザカード

+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_6udid user_id cl1 cl2 cl3 cl4 cl5 cl6

デッキ毎のカードレベル デッキ毎の

カードレベル

Page 28: Azure ml発表資料

ユーザのレベルとデッキのカード平均レベル

Page 29: Azure ml発表資料

udid user_id cl1 cl2 cl3 cl4 cl5 cl6

デッキ毎のカードレベル

udid user_id cl_ave

デッキ毎のカードレベル平均

user_id user_rank

アクティブユーザテーブル

cl1~6の平均

user_rank cl_ave

ユーザのレベルとデッキレベル平均

Page 30: Azure ml発表資料

相関性の検証

Page 31: Azure ml発表資料

user_rank cl_ave

ユーザのレベルとデッキレベル平均

学習用データで user_rankを線形回帰分析

テスト用データを使って分析結果を検証

user_rank cl_ave score

Page 32: Azure ml発表資料

デモ

Page 33: Azure ml発表資料

まとめ• データの結合、分析がプログラミングを知っていなくてもできる

• ただし、細かい計算をする場合は、 R,Pythonで計算したほうが良かったりする• 途中で計算を追加したり、削除したりするのが楽

• なので、分析方法や、分析パラメータをいじって微調整することが可能• 一回作ってしまえば、入力データを変えるだけで、最新のデータで分析可能