R ににににににに に 48 に R ににに ににに @( #TokyoR ) @Keiku 2015/06/20
R による特徴抽出
第 48 回 R 勉強会@東京( #TokyoR )@Keiku
2015/06/20
自己紹介• Twitter : @Keiku• お仕事:銀行のデータ分析コンサルタント– 金融以外の業界のお仕事もしています
• 趣味: kaggle– Master を目指して日々頑張っています
– 最近は、 KDDcup2015 も頑張っています
データ分析プロセス出版!• データ分析プロセス ( シリー
ズ Useful R 2) [ 単行本 ] • 福島 真太朗 ( 著 ), 金 明哲
( 編集 ) • 発売日: 2015/6/25
– 微力ながらレビューという形でお手伝いさせて頂きました
データ分析プロセスの目次• 第 1 章 データ分析のプロセス• 第 2 章 基本的なデータ操作• 第 3 章 前処理・変換
– 3.1 データの記述・要約– 3.2 欠損値への対応– 3.3 外れ値の検出と対応– 3.4 連続データの離散化– 3.5 属性選択
• 第 4 章 パターンの発見• 第 5 章 データ分析の例• 付録 A 主な予測アルゴリズムの概要• 付録 B caret パッケージで利用できるアルゴリズム• 付録 C ELKI の使用方法• 参考文献• 索 引
属性抽出がない!?紙面の都合上カットとなった… _φ( ・ ω ・` ) ショボン
より実践的な属性抽出の解説はある!
アジェンダ• R による特徴抽出• FeatureHashing パッケージのご紹介• Xgboost による GBDT feature の生成
R による特徴抽出• Scale 変換• Log 変換、 Box-Cox 変換• MinMaxScaler 変換、パーセンタイル丸め• PCA 、 SVD• One-Hot encoding• Hashing Trick• TF-IDF• K-means 、 KNN• GBDT• T-SNE• RBM
手法の区分 変換 用途 パッケージ統計量による変換 標準化、正規
化、 MinMax 標準化NN 、 SVM hadley/scales 、
caret::preProcess
統計量による変換 対数変換、 Box-Cox 変換
ロバスト推定、不均衡データ
hadley/scales 、caret::preProcess
次元圧縮 PCA 、 SVD ノイズ除去 ( 画像認識 ) 、レコメンド
irlba
次元圧縮 T-SNE 高次元データの可視化
tsne
Hashing One-Hot Encoding カテゴリカルデータ model.matrixcaret::dummyVars
Hashing DocumentTermMatrix(TF-IDF) 文書分類 tm 、 tau
Hashing Hashing Trick カテゴリカルデータ、CTR 予測
FeatureHashing
教師なし学習 K-means など 省略 省略
教師あり学習 GBDT など CTR 予測 xgboost
FeatureHashing パッケージ• カテゴリカルデータをハッシングするパッケージ
– John likes to watch movies.– Mary likes movies too.– John also likes football.
• Hashing Trick– 辞書を使うことなくハッシュ関数によりハッシュ値をインデック
スとする– カーネルトリックのように高次元な特徴ベクトル空間を陽に扱わ
ない– 詳しくは、 PFI Seminar 2012/03/15 カーネルとハッシュの機械学
習
John
likes
to watch
movies
Mary
too also football
1 2 3 4 5 6 7 8 9
John likes to watch movies Mary too also football
1 1 1 1 1 0 0 0 0
0 1 0 0 1 1 1 0 0
1 1 0 0 0 0 0 1 1
FeatureHashing パッケージのインストール
• インストール– C++11 が必要
Hash.model.matrix で Hashing
• kaggle : Avazu ( Click-Through Rate Prediction )のデータ( 5.9GB 40,428,967行、 24 列)で検証
xgboost で GBDT• nthread=32 、 nround=100 で、 30 分程度• Submit してみた– Public Score:0.4056038 Private Score:0.4038650– コンペ時の 0.3897445 ( FTRL-Proximal )には及ばず
( 余談 ) オンライン学習のアルゴリズムの実装
• FeatureHashing パッケージは CTR 予測で用いられることを想定したパッケージ(ぽい)
• CTR 予測用のデータセット data(ipinyou) がある
• FTRL-Proximal の実装もある
xgboost による GBDT feature の生成
• Avazu の上位者は、 GBDT による特徴抽出+ Factorization Machines というアプローチ
• GBDT による特徴抽出– predleaf=TRUE とするだけ
• Factorization Machines は LIBFFM などを使用
参考資料• Pre-Processing http://topepo.github.io/caret/preprocess.html#cs• PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
http://www.slideshare.net/pfi/pfi-seminar-20120315• Feature Hashing を試す - Negative/Positive Thinking
http://d.hatena.ne.jp/jetbead/20141106/1415208665• Feature Hashing - Wikipedia https://ja.wikipedia.org/wiki/
Feature_Hashing• Hive/Hivemall を利用した広告クリックスルー率 (CTR) の推定 - Qiita
http://qiita.com/myui/items/f726ca3dcc48410abe45• Gradient Boosting Decision Tree での特徴選択 in R | 分析のおはなし。
http://www.housecat442.com/?p=480• 3 Idiots' Approach for Display Advertising Challenge - kaggle-2014-
criteo.pdf http://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf