![](/img/trans.png)
[英]Error in mlr::makeRegrTask Assertion on 'fix' failed: Must be of type 'numeric', not 'factor'
[英]Error using the makeRegrTask function from the MLR package
我正在尝试使用MLR软件包进行功能选择。 这是我的代码:
#Feature Extraction
features.task = makeRegrTask(id = "cr", data = final1, target = "spam")
feature_selection= generateFilterValuesData(features.task, method = "information.gain")
plotFilterValues(feature_selection)
这是我得到的错误:
> features.task = makeRegrTask(id = "cr", data = final1, target = "spam")
Error in (function (cn, x) :
Unsupported feature type (character) in column 'host'.
我应该怎么做才能解决这个错误? 在此先感谢您的帮助。
host
列包含字符(字符串)值,但是makeRegrTask
希望在以data
传递的内容中仅看到响应变量和预测变量。
从文档 :
data
:包含要素和目标变量的数据框
如果打算让host
成为分类预测变量,则需要创建代表每个级别的虚拟变量。 否则,在将final1
传递到makeRegrTask
之前,先删除host
。
如果host
是字符变量,则应首先将其转换为因数。 mlr
可以处理因素。
可能的代码是:
data = final1 %>% mutate_at(vars(one_of("host")), funs( as.factor))
data = final1 %>% mutate_if(sapply(data_test, is.character), as.factor)
请注意,这是dplyr
代码。 在第一行中,您可以添加要转换为要素的列名,然后再将其传递给任务。 第二个转换所有字符列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.