我正在尝试使用外部存储器版本训练xgboost模型,该模型将libsvm文件作为训练集。现在,所有数据都存储在一堆csv文件中,这些文件组合在一起比我拥有的内存要大得多,例如70G(您可以轻松读取其中的任何一个)。我只是想知道如何为xgboost创建一个大的libsvm文件。或者是否还有其他工作需要解决。谢谢。
答案 0 :(得分:0)
如果csv文件没有标题,则可以将它们与Unix cat
命令结合使用。
示例:
> ls
file1.csv file2.csv
> cat *.csv > combined.csv
现在combined.csv
是所有其他文件的组合。
如果您所有的csv文件都具有标头,则您将需要做一些棘手的事情,例如用tail
提取n-1行。
XGBoost支持csv as an input.
如果无论如何都希望将其转换为libsvm,则可以使用phraug's脚本。