Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
atmacup8 振り返り会登壇資料
Sekine Hiroto
February 25, 2021
Science
0
170
atmacup8 振り返り会登壇資料
Sekine Hiroto
February 25, 2021
Tweet
Share
More Decks by Sekine Hiroto
See All by Sekine Hiroto
推薦システムと多目的最適化
hiroto0227
2
2k
WWW2020 online報告会
hiroto0227
0
370
Other Decks in Science
See All in Science
Pythonで学ぶSynthetic Difference in Differences
masa_asa
0
990
機械学習における評価指標~AUC&C-index~
taka88
0
330
ウォンテッドリーにおける推薦システム開発事例 / recsys-in-wantedly-2021
yuya4
4
1.4k
Text Gestalt: Stroke-Aware Scene Text Image Super-Resolution
sansan_randd
1
1k
Accumulated Local Effects(ALE)で機械学習モデルを解釈する / TokyoR95
dropout009
2
3.2k
Legal NLP - Breaking the Legal Language Barrier ?
danielkatz
PRO
0
4k
My research talk for CCA promotion
dfm
1
550
深層学習による自然言語処理 輪読会#3 資料
tok41
0
380
機械学習を用いた効果検証~回帰分析とT-Learner~
s1ok69oo
0
120
第2回ディープラーニング勉強会~画像処理編~
ganchan11
0
140
離散微分形式による大規模流体音響解析
deepflow
0
180
Deconvolving Cell Type Proportions in Human Postmortem Brain Tissue from Bulk RNA-seq Data
lahuuki
0
100
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Designing with Data
zakiwarfel
91
4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
What's in a price? How to price your products and services
michaelherold
229
9.4k
A Philosophy of Restraint
colly
192
15k
What's new in Ruby 2.0
geeforr
335
30k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
KATA
mclloyd
7
8.8k
Become a Pro
speakerdeck
PRO
3
900
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
107
16k
Web Components: a chance to create the future
zenorocha
303
40k
Code Review Best Practice
trishagee
44
9.7k
Transcript
atmacup 8 振り返り会 Sekine Hiroto
• Sekine Hiroto • twitter: @ndnto • github: @hiroto0227 •
大学では自然言語処理を研究 • 20卒でWantedly, inc.にJoin。(推薦やデータサイエンス) 趣味 • ビール (特に海外ビール) 自己紹介
目次 • 今回のコンペの進め方 • 作成した特徴量 • 今回できなかったこと
• データ分析コンペを始めるのには最適! • 1週間という短い期間で集中して取り組む! • ディスカッションに知りたかったことやアイディアが丁寧に書かれている! atmacupへの印象 今回も多くのディスカッションを参考にさせていただきました - RMSLEを最適化する小技
- シリーズ名ごとにGroup KFold
進め方 • @hakubishin3 と @yu-ya4 とチームを組んで進めた。 ◦ チームを組んだ目的としては、 @hakubishin3 から知見を共有してもらう。
◦ 初日の夜に効きそうな特徴量を聞いて、そこからは個人でガンガン。 • まず始めにSubmit! ◦ 初心者にとってはここが難関 -> 1日集中してサブミットまでできる仕組みを作成。 ◦ Data Load, Preprocessor, Model, Training, Predict, Submit • 特徴量を自由に追加できる形にしておく。 ◦ 1つの関数で1つの処理を行う。 ◦ 関数の入力、出力を合わせておくことで、 for文で回せるようにする。 • そこからは、アイディアと面倒くさがらずにできるかの勝負! ◦ 効きそうな特徴量から作っていく。
作成した特徴量 • Aggregation Feature ◦ カテゴリ変数(PublisherやDeveloper, Nameを含む)ごとに、Year_of_ReleaseやCritic_Scoreなど に対し集計処理 • Diff
Feature ◦ Aggregation Featureの集計した平均値と各レコードの平均値の差をとる。 • Target Encoding ◦ カテゴリ変数ごとに、 xx_Salesに対し集計処理 ◦ DeveloperやPublisherを入れたらリークした。 • LDAによる分散表現 ◦ 分散表現にすることで、 Aggregation Featureでは与えられないような角度からの特徴を得たい。 • Rank Feature
PublisherとDeveloperについて • TrainとTestの分け方がPublisherによって分割されていると想定 • Publisherを直接使用したところ、CVの値は劇的に上がったが、LBの値が下がると いう現象が起きた。 • 「Nintendo」というPublisherを使用できる特徴量で表現したい。 ◦ UserScoreの平均が高く、幅広いジャンルのゲームを作成している
◦ ここでGlobal_Salesが多いという情報を使用してしまうと、それを TestデータのPublisherで再 現することはできない。 • Publisherごとに特徴量の平均、分散、パーセンタイル値、Countなどの集計値をと る。
データをざっと見る。 • PlatformやGenreやPlatformはユニーク数も少なくTrainとTestに満遍なく入ってい たため、そのまま使用することができた。 ◦ Target EncodingもPlatformごとやGenreごとなどで使用できた。 • Critic_ScoreやUser_Scoreなどは50%程度欠損値である。 •
DeveloperやRatingについても欠損値が多かった。 • このNull値を補えるように特徴量を作成したい。
力を入れたところ (Series Nameの名寄せ) • どこまでをシリーズとみなすかがゲームによって異なる。 ◦ LEGO Batman を LEGOとするか?
LEGO Batmanとするか? 方法 • Nameの最初から5gramを見る。 ◦ 3回以上出現した5gramがあれば、辞書に追加 • Nameの最初から4gramを見る。 ... • Nameと辞書にマッチするもののうち、最も単語数の 多いものをそのシリーズ名とする。
RankFeature • 各カテゴリごとにYear_of_Releaseを並べたもの • AggregateFeatureばかりを作成していたため、同じカテゴリのものは同じ特徴量と なってしまうことを変えたかった。 • Year_of_Releaseが同じ場合は登場順でランク付けを行う。 • Genre_Year_of_Releaseのカテゴリでランク付けを行った。
• リークにつながり、Public Scoreが0.78から0.69に上がった。 最も効いた特徴量
None
Feature Importance
今後に向けて必要だと感じたところ • Preporcessingのクラス ◦ 特徴量が多くなってくると、各特徴量の依存関係の整合性が合わなくなりそう。 • 特徴量のNaming ◦ Aggregation Featureなどは、何のカラムを
Group Byして、何のカラムに対しての平均なのか?と いうのをルールとして決めておくことで、理解度や Namingの迷いがなくなる。 • 何の特徴量がなぜ効いてるか? ◦ 初めは特徴量を作成して学習させて、後からなぜそれが効いたのか、効かなかったかを考えようと したが、後半はスコアを伸ばしたい気持ちが強くて、なぜ効いたかを考えられなかった。 • 特徴量作成のネタ切れ
ありがとうございました! 楽しかったです!!