は時々0 と欠損値を持つことができます。たとえば、多分あなたは野球の投手のセットに対して投手あたりのゲームごとの三振を測定し、そしてあなたがここXGBoostはRの疎行列の欠損値と0を区別しますか?
feats <- c(NA, NA, NA, 3.7, 0, 2.2)
のような特徴ベクトルで終わる、1人の投手は、試合あたり0奪三振と3人の投手がdidnの平均しました彼らはまだゲームを投げていないので、すべてのデータを記録しません。我々は疎行列にこれを変換すると、我々はここで
library(Matrix)
sparse1 <- sparseMatrix(i=4:6, j=rep(1, 3), x=c(3.7, 0, 2.2), dims=c(6, 1))
sparse1
[1,] .
[2,] .
[3,] .
[4,] 3.7
[5,] 0.0
[6,] 2.2
のようなものを取得し、
dgCMatrix
クラスは明らかに0から失われたデータを区別しますが、私が理解から、
dgCMatrix
で不足しているデータは、値0を取ると想定され
XGBoostがこのデータを分割しようとすると、0と欠落データを別々に扱うのでしょうか?つまり、XGBostがこの機能を分割しようとすると、欠落しているデータに対してNAプロトコル(分割された両方の方向をチェック)に従うか、欠落したデータをスパース以外の0値と同じ場所に送信しますか?
をはい、欠損値は、ゲインの計算に考慮されていません(高める木の子供の勾配とヘッセ行列の合計に追加されません)0値ながら:しかし、正確な質問に答えるために
小さな例であなたが経験的にこれをテストすることができように思える... – Gregor