問題タブ [xgboost]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R xgboost パッケージ パラメーターの関係
eval_metric
ドキュメントを読んだ後、maximize
パラメーター間の違いと関係が100%明確ではありませんfeval
。
たとえば、線形回帰を実行しているときeval_metric
に、カスタム カッパ関数に設定すると、maximize
= TRUE になります。eval_metric
とはどう違いfeval
ますか?
ありがとう!
python - XGboost カスタム目的関数を実装する
XGboost を使用してカスタム目的関数を実装しようとしています (R では、Python も使用しているため、Python に関するフィードバックも良いです)。
勾配とヘシアンを吐き出す関数を作成しました (正しく動作します) が、xgb.train を実行しようとすると動作しません。次に、ラウンドごとに、予測、勾配、およびヘシアンをこの特定の順序で出力することにしました。これは出力です(実行している限り繰り返します):
[1] 0 0 0 0 0 0 0 0 0
[1] -0.034106908 -0.017049339 -0.034106908 -0.034106908 -0.034106908 -0.034106908 -0.034106908 -0.004256162 -0.034106908 -0.008520554
[1] 0.003836107 0.004272548 0.003836107 0.003836107 0.003836107 0.003836107 0.003836107 0.004408935 0.003836107 0.004381658
[0] トレーニングスコア:0 バリュースコア:0
[1] 0 0 0 0 0 0 0 0 0
[1] -0.034106908 -0.017049339 -0.034106908 -0.034106908 -0.034106908 -0.034106908 -0.034106908 -0.004256162 -0.034106908 -0.008520554
[1] 0.003836107 0.004272548 0.003836107 0.003836107 0.003836107 0.003836107 0.003836107 0.004408935 0.003836107 0.004381658
[1] train-score:0 val-score:0
勾配とヘシアンが問題ないように見えても、各ラウンドの予測は変わらないことがわかります!! なぜそうなのかわかりません。誰かが同じ問題に遭遇した場合、またはアイデアを共有してください。
私が使用するコードは次のとおりですが、あまり役に立たないと思います。
r - xgboost、オフセット露出?
R で請求頻度 (ポアソン分布) をモデル化しています。gbm
とxgboost
パッケージを使用しxgboost
ていますが、エクスポージャーを考慮に入れるためのオフセット パラメーターがないようです。
では、gbm
次のように露出を考慮します。
`xgboostで同じことを達成するにはどうすればよいですか?
PS: クレームが観察されるたびに新しい観測点が作成されるため、露出を予測因子として使用することはできません。
r - XGboost(R)で損失行列を変更するには?
偽陰性よりも偽陽性のコストが高いバイナリ変数を分類したいと考えています。
rpart
パッケージでは、損失行列 を使用します。負の例を正として誤分類するコストを追加するparms = list(loss=matrix(c(0,1,5,0),nrow=2))
と、正の例を負として誤分類するコストの 5 倍になります。
どうすればそれを行うことができXGboost
ますか?
r - 取得する理由: xgboost で mlr を使用しているときに、ラベルの長さは入力データの行数と同じである必要があります。
次の R コードを実行した後:
str(data) を実行すると、次のようになります。
タスクの概要は次のとおりです。
次に、エラーが発生します。
このエラーを回避するための助けをいただければ幸いです。ありがとう。
python - xgboost バイナリ ロジスティック回帰
次の例に要約できる xgboost でロジスティック回帰を実行する際に問題があります。
2 つの予測子と 1 つのターゲット変数を持つ非常に単純なデータフレームがあるとします。
ここに新しいので画像を投稿できますが、X1 = 1およびX2 = 0の場合、Yは0であり、X1 = 0およびX2 = 1の場合、Yは1であることがはっきりとわかります.
私の考えは、観測が各クラスに属する確率を出力するモデルを構築することです。そのため、xgboost を実行して 2 つの新しい観測 (1,0) と (0,1) を予測しようとすると、次のようになります。
出力は次のとおりです。
これは、最初の観測では、それが各クラスに属する可能性が 50% あることを意味すると思います。
変数間の関係が明確な場合、アルゴリズムが適切な (1,0) またはそれに近いものを出力しない理由を知りたいです。
参考までに、より多くのデータを試してみましたが (簡単にするために 4 行のみを使用しています)、動作はほぼ同じです。私が気付いたのは、確率の合計が 1 にならないだけでなく、多くの場合、そのように非常に小さいことです: (この結果は別のデータセットでのものであり、上記の例とは関係ありません)