繁体   English   中英

使用MLR软件包中的makeRegrTask函数时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM