对于标签编码,我在R中的库model.matrix
中使用onehot
数据集可用here。
我已将该文件重命名为train.csv
要编码的要素是Education
。它有两个级别Graduate
和Not Graduate
。但是在执行代码时,
library(onehot)
data <- read_csv("train.csv")
set.seed(1234)
datashuffled <- data[sample(1:nrow(data)), ]
datashuffled_Loan_StatusRemoved <- datashuffled %>%
select(-starts_with("Loan_Status"))
features <- datashuffled_Loan_StatusRemoved
sum(is.na(features$Education))
features$Education[features$Education=="Not Graduate"] <- "NotGraduate"
E <- model.matrix(~Education-1,head(features))
我收到错误
对比错误&lt; - ( tmp ,value = contr.funs [1 + isOF [nn]]): 对比只适用于2级或更多级别的因素。
答案 0 :(得分:1)
对不起,这是一个错字。我应该使用model.matrix
的完整数据集。修复是替换
E <- model.matrix(~Education-1,head(features))
到
E <- model.matrix(~Education-1,features)