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