0
我要使用xgb.train
函數在R上執行xgboost。如何在R中輸入xgb.train函數中的數據?
爲了使用xgb.train
函數,我知道必須將輸入數據轉換爲使用xgb.DMatrix
函數。
但是,當我在我的數據SETM使用此功能我得到一個錯誤信息:
Error in xgb.DMatrix(data = as.matrix(train)) :
[09:01:01] amalgamation/../dmlc-core/src/io/local_filesys.cc:66: LocalFileSystem.GetPathInfo 1 Error:No such file or directory
以下是我的,完全R代碼。要使用輸入數據,如何轉換輸入數據?
credit<-read.csv("http://freakonometrics.free.fr/german_credit.csv", header=TRUE)
F=c(1,2,4,5,7,8,9,10,11,12,13,15,16,17,18,19,20,21)
for(i in F) credit[,i]=as.factor(credit[,i])
str(credit)
library(caret)
set.seed(1000)
intrain<-createDataPartition(y=credit$Creditability, p=0.7, list=FALSE)
train<-credit[intrain, ]
test<-credit[-intrain, ]
d_train<-xgb.DMatrix(data=as.matrix(train))
顯然,這錯誤來自於列車具有(見本[問題](非數值變量https://stackoverflow.com/questions/ 38186478 /特殊安裝預警致病-包到故障))。您可以添加'read.csv(..,colClasses =「numeric」)'並刪除將某些變量轉換爲因子的行,它應該可以工作。 – Lamia
@Lamia我應該只使用數字變量嗎?那麼,如何使用因子類型變量呢? –
是的,'xgb.DMatrix'只作爲輸入數字變量,你不應該將它們轉換成因子。 – Lamia