![](/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.