簡體   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