有時功能可能有0s 和缺失值。例如,你可以測量每投手遊戲三振一組棒球投手,並且你最終像XGBoost是否在R中的稀疏矩陣中區分缺失值和0?
feats <- c(NA, NA, NA, 3.7, 0, 2.2)
這裏的特徵矢量,1名投手平均每場0三振和3名投手沒沒有記錄任何數據,因爲他們還沒有投入比賽。當我們將它轉換爲一個稀疏矩陣,我們得到類似
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和缺失的數據嗎?換句話說,當XGBoost試圖在這個特性上分裂時,它是否遵循NA協議(檢查兩個拆分方向)丟失的數據,還是將丟失的數據發送到與非稀疏0值相同的位置?
好像有一個小例子,你可以實證檢驗這... – Gregor