【问题标题】:R xgboost - how to use local data files?R xgboost - 如何使用本地数据文件?
【发布时间】:2016-11-20 03:30:25
【问题描述】:

我有一个大型数据集,我正在尝试使用 R 的包 xgboost 对其执行回归。

函数xgboost 表示参数data 可以是本地数据文件,据我了解它应该是要使用的文件的名称。但是没有关于它的进一步规范,所以我的问题是这个文件到底应该是怎样的。

我试过了

random=matrix(rnorm(15),5,3)
colnames(random)=c("first","second","label")
write.csv(random,"random.csv")
bst <- xgboost(data = "random.csv", 
               nthread = 7, 
               nround = 3,
               objective="reg:linear",
               verbose=FALSE)

但是会返回

6x0 matrix with 0 entries is loaded from random.csv
Error in xgb.iter.update(bst$handle, dtrain, i - 1, obj) : 
NumCol:need column access

非常感谢!

【问题讨论】:

    标签: r xgboost large-data


    【解决方案1】:

    xgboost 本地数据文件输入不支持csv。引用此link

    目前 XGBoost 支持 libsvm 格式的本地数据文件。 - 查看更多信息:http://blog.nycdatascience.com/uncategorized/xgboost-introduction/#sthash.bmlHst0T.dpuf

    有关什么是 libsvm 格式的更多信息,请参阅 this Cross Validated Question/Answer

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      遗憾的是,我还不允许发表评论,这对于一个正确的答案来说有点天真,但只是为了确定: - 您确定R 在正确的文件夹中吗?尝试getwd() 检查您所在的工作目录并尝试setwd() 更改它。

      我稍后会删除我的答案,因为我会认为它不完整,

      你好,

      丹尼尔

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-17
        • 2021-10-26
        • 1970-01-01
        • 2011-12-17
        • 2020-06-09
        • 2022-01-11
        • 2017-03-30
        • 1970-01-01
        相关资源
        最近更新 更多