Support Vector Machine for Ranking
RankingSVMSVM-rank: Support Vector Machine for Rankingについて。
- SVMrank
- SVMLightの'-z p'オプションを用いるのと同じ。だが、こちらの方がもっと早い。
- インストール
- MulticlassSVMと同様のため割愛。
- 実行方法
- データの形式
<順位> qid:<pairwiseして比較するグループの番号> <素性>:<重み>...
3 qid:1 1:1 2:1 3:0 4:0.2 5:0 # 1A
2 qid:1 1:0 2:0 3:1 4:0.1 5:1 # 1B
1 qid:1 1:0 2:1 3:0 4:0.4 5:0 # 1C
1 qid:1 1:0 2:0 3:1 4:0.3 5:0 # 1D
1 qid:2 1:0 2:0 3:1 4:0.2 5:0 # 2A
2 qid:2 1:1 2:0 3:1 4:0.4 5:0 # 2B
1 qid:2 1:0 2:0 3:1 4:0.1 5:0 # 2C
1 qid:2 1:0 2:0 3:1 4:0.2 5:0 # 2D
2 qid:3 1:0 2:0 3:1 4:0.1 5:1 # 3A
3 qid:3 1:1 2:1 3:0 4:0.3 5:0 # 3B
4 qid:3 1:1 2:0 3:0 4:0.4 5:1 # 3C
1 qid:3 1:0 2:1 3:1 4:0.5 5:0 # 3D
-
- qidの値が同じものだけを全組み合わせ比較する。
- qidは比較するグループを表す。グループごとに各カテゴリを比較。
- 比較は1A>1B, 1A>1C, 1A>1D, 1B>1C, 1B>1D, 2B>2A, 2B>2C, 2B>2D, 3C>3A, 3C>3B, 3C>3D, 3B>3A, 3B>3D, 3A>3Dとなる。
どうやら学習時にSVMrankingを使ったら、SVMlightのclassifierを使用し、学習時にSVMlight(-z p)を用いたら、SVMrankingのclassifierを使用するらしい。
にて実行すると、rankpredictionsに実数値が書き込まれる。
-
- テストデータは学習データと同じく、比較したい事例のqidを同じ値にする。
しかし、自分の環境では、
Reading model...Version of model-file does not match version of svm_classify!: Success
といって怒られるので、今後調査する。