Xgboost: xgboostを使用してラムダマートのリストごとのランキングを行う方法は?

作成日 2016年03月02日  ·  9コメント  ·  ソース: dmlc/xgboost

rank:pairwise 」–ペアワイズ損失を最小化することでランキングタスクを実行するようにXGBoostを設定します

これはどういう意味ですか? ラムダマートはリストワイズアプローチなので、リストワイズランキングにどのように適合させることができますか? コモンド、パラメーター、トレーニングデータ形式を含み、ラムダマートのラムダをどこに設定できますか。
簡単なデモやイントロを教えてもらえますか? どうもありがとう!

最も参考になるコメント

これは、ドキュメントで明確にする必要があります。
具体的には:

  1. FAQには「はい、xgboostはLambdaMARTを実装しています。パラメーターの目的セクションをチェックアウトしてください」と書かれていますが、パラメーターページにはLambdaMARTについての言及はまったくありません。
  2. LambdaMARTが存在する場合は、例があるはずです。 このためのPRを提出できてうれしいです。
  3. これは用語の混合の問題かもしれませんが、XgboostがFAQでLambdaMARTを宣伝したい場合は、ドキュメントとコードでその用語も使用することをお勧めします。

全てのコメント9件

なるほど、分かりました。 XGBoostはランキングタスクの実行をサポートしています。 ランキングシナリオでは、データがグループ化されることが多く、グループ情報ファイルが必要
ランキングタスクを特定します。 XGBoostでランキングに使用されているモデルはLambdaRankであり、この機能はまだ完了していません。 現在、ペアワイズランクを提供しています。

したがって、リストごとの学習はサポートされていません。 何か計画はありますか?

ndcgメトリックのラムダランクにはrank:ndcgを使用します

こんにちは、objective = ' rank:map 'とobjective = ' rank:ndcg 'の両方を使用しようとしましたが、どちらも機能していないようです。 ペアワイズ目的関数は実際には問題ありません。 コードでLambdaMART目的関数がまだ存在していることがわかりますが、PythonAPIを使用して選択できない理由がわかりません。 ありがとう。

@tqchenは、 rank:ndcgまたはrank:mapがPythonで機能するかどうかコメントできますか?

これは、ドキュメントで明確にする必要があります。
具体的には:

  1. FAQには「はい、xgboostはLambdaMARTを実装しています。パラメーターの目的セクションをチェックアウトしてください」と書かれていますが、パラメーターページにはLambdaMARTについての言及はまったくありません。
  2. LambdaMARTが存在する場合は、例があるはずです。 このためのPRを提出できてうれしいです。
  3. これは用語の混合の問題かもしれませんが、XgboostがFAQでLambdaMARTを宣伝したい場合は、ドキュメントとコードでその用語も使用することをお勧めします。

解決しましたか?

FWIW、「 rank:ndcg 」はここで定義されていますhttps://github.com/dmlc/xgboost/blob/72cd1517d6b1d145c34e13a063fadd31b507b01d/src/objective/rank_obj.cc#L331

ドキュメントを更新する必要があります。

@vatsan見落としだったようです。 パラメータドキュメントを更新するためのプルリクエストを送信できますか?

@vatsan @ Sandy4321 @travisbradyすべての目標をパラメータードキュメントに追加しています:#3672

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

uasthana15 picture uasthana15  ·  4コメント

RanaivosonHerimanitra picture RanaivosonHerimanitra  ·  3コメント

matthewmav picture matthewmav  ·  3コメント

tqchen picture tqchen  ·  4コメント

frankzhangrui picture frankzhangrui  ·  3コメント