【发布时间】:2017-02-19 10:30:14
【问题描述】:
我在一个数据框中有很多列是标志“0”和“1”。当我导入数据框时,它们属于“整数”类。
0 表示不存在,1 表示存在于所有列中。
我需要将它们转换为因子吗?[因子将成为 1 和 2 级,而目前它们几乎是相似的 0 和 1,尽管是整数]
我计划稍后使用 xgboost 来构建预测模型。 Xgboost 仅适用于数字列,因此如果我将列转换为因子,那么我需要对它们进行一次热编码以将它们转换为数字。
(附带问题:如果我们进行一次热编码以消除共线性,我们是否总是需要删除一列?)
【问题讨论】:
-
不是问这个问题的正确论坛。你可以试试Cross Validated。
-
感谢您告诉我。
-
我不同意@KarthikArumugham 这是一个属于 SO 范围的编程问题。
-
@abhiieor 我认为这属于推荐类别。
-
我理解 OP 只是询问我们是否应该在他的 R 程序中使用
as.integer()或as.factor()以使 XGBoost 正常工作。根据我的理解,这比任何建议都更适合编程。
标签: r xgboost one-hot-encoding