RECRUIT Challenge @ kaggle

  • 15
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

こんなモノが開催されているので、ちょっと参加してみています。

https://www.kaggle.com/c/coupon-purchase-prediction
http://www.recruit.jp/news_data/release/2015/0716_15946.html

Kaggleって?

Kaggleというのは、"The world's largest community of data scientists compete to solve your most valuable problems." だそうです。簡単に言えば「データ解析コンペティションを簡単に行うことができる」場所です。きっとネット調べるともっとちゃんと説明してくれている人がいると思うけれど。

一人で作業をするよりも、100倍くらい競争するのは楽しいわけで、十分な結果がたくさん出たりするわけですね。そんなわけで、結構にぎわってます。

データ解析コンペティション?ということは?そうです。賞金が出ます。これが、5桁ドルとか、結構な大金だったりします。
まあ相手は世界のプロ、なかなか勝つのは容易ではありませんが。。。

RECRUIT Challenge?

最初にも書いちゃったんですが、RECRUIT HoldingsがKaggleに問題を出しまして、それがRECRUIT Challengeです。
内容はクーポンサイト「ポンパレ」の購入予測ですね。過去1年くらいの閲覧・購入クーポン情報から次の1週間の購入を予測します。

他の問題と同様に賞金がでかいです。( https://www.kaggle.com/c/coupon-purchase-prediction/details/prizes

  • 1位 30,000ドル
  • 2位 10,000ドル
  • 3位 5,000ドル

しかも、学生だと追加でお金と権利がもらえます。( http://challenge.recruit.ai/studentAward.html
こっちは応募が日本語だから、事実上日本人学生間での勝負になりますかね。

  • 1位 100,000円
  • 2位 50,000円
  • 3位 30,000円
  • + AI分野の著名な先生とお話ができる

という。

え、お金ほしい!

じゃあ調べましょう。
ただ取っ掛かりで躓いても悲しいので(4回フォーマットエラーしたのは秘密)、pandasを利用してランダムに10個の予測を出力するコードを書いてみました。
あ、csvファイルはdatフォルダの中にあると仮定します。

random_prediciton.py
# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np


ul = pd.read_csv('./dat/user_list.csv')
cl_test = pd.read_csv('./dat/coupon_list_test.csv')

sampler = np.random.permutation(len(cl_test)) #cl_testの順番を入れ替えるものを生成
cids = cl_test.take(sampler[:10]).COUPON_ID_hash #ランダム順番に10個を取得し、そのCOUPON_ID_hashをとる
cids = " ".join(cids) #とったIDを半角スペース区切りでまとめる(求められている出力形式がこれ)
output = pd.DataFrame({"USER_ID_hash":ul.USER_ID_hash, "PURCHASED_COUPONS":cids}, columns=["USER_ID_hash", "PURCHASED_COUPONS"]) #出力用DataFrameを作成する
output.to_csv("./output_random.csv", index=False) 

どんな情報があるの?

一応どんな情報があるかの情報は提供されていますが、簡単にpptxで書いてみたものをぺたっと。
recruit.png

  • この記事は以下の記事からリンクされています
  • Qiita投稿まとめからリンク