"Psychopathy Prediction Based on Twitter Usage"で1位になりました
6月の終わりに終了したので既に4ヶ月以上前の話だが、kaggleで開催されていたデータサイエンスのコンペティションで1位になった。
このコンペティションはその名のとおり、twitterの使い方からそのユーザーの"Psychopathy"を予測するというものである。もう一つの Personality Prediction Based on Twitter Stream - Kaggle ではその他の"Personality"の予測を行っていた。
問題は、その予測対象の"Psychopathy"や"Personality"とはいったい何なのかということだが、正直に言って正しく説明できるほど理解できていないため、詳細は以下の記事とそこからリンクされている論文ドラフト*1を参照していただきたい。記事に書かれているが、この論文はICMLA 2012で発表されるそうだ。
- Are you what you Tweet? OPF releases Twitter experiment results | no free hunch
- Predicting Dark Triad Personality Traits from Twitter usage and a linguistic analysis of Tweets(論文ドラフトPDF)
以下は、このコンペティションについて書かれたブログやニュース記事である*2。
- Is Data Science Scary? | no free hunch
- Using Twitter To Identify Psychopaths - Forbes
- Study: Twitter analysis can be used to detect psychopathy (Wired UK)
- Kaggle’s algorithms show machines are getting too good at judging humans | VentureBeat
実際の予測モデルについては、先述した論文ドラフトにも書かれている*3が、gradient boosted treeをbaggingして用いた。具体的には、Random Forestのようにサンプルと特徴量を全体からランダムに一定の割合選択し、Rのgbmパッケージを用いてgradient boosted treeを複数作成、それらの予測値を平均して最終的な予測値とした。主な参考文献は以下。
- Bagging gradient-boosted trees for high precision, low variance ranking models
- BagBoo: a scalable hybrid bagging-the-boosting model
モデルと並んで重要なのは特徴量(素性)だが、こちらは与えられたデータセットに含まられているものを全て用いており、作成や選択などについて特別な前処理は行わず、学習過程で何を用いるかはモデルに任せた。
このように比較的シンプルな手法を用いたため*4、1位になったのは手法が優れていたというよりも、小さめのコンペティションで競争率が高くなかったことと、以下の記事に書かれているように上位陣が過学習を起こしていたことが大きな原因であろう。
このようにあまり複雑なことはしていないため必要ないとは思うが、今回のコンペティションへの参加は完全にプライベートな時間に行っており、私が所属する組織や業務上知りえた知識は用いていないことを念のため記しておく。これについては所属する組織の承認も得ている*5。
このコンペティションで1位になった直後はkaggleのユーザーランキングでも10位以内に入っていたのだが、しばらく放置しているうちにずいぶんと落ちてしまった。時間があればまたコンペティションには参加したいが、業務の方でやりたいことorやるべきことが多いということと、kaggleでコンペティションの開催が閑散期に入ってしまったということから、次の参加はいつになるのかまだ未定。