我有一个“label.csv”文件,由0和1组成。
y = read.csv("./data/labels.csv", stringsAsFactors = T)
当我cbind
y
对数据进行分类培训时,会出现以下警告:
Warning message:
In train.default(x, y, weights = w, ...) :
You are trying to do regression and your outcome only has two possible values Are you trying to do classification? If so, use a 2 level factor as your outcome column.
我想将y
转换为水平因子,并将其与特征数据进行分类。
但是,使用as.factor(y)
会产生以下错误:
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
我是否正确地解决了这个问题?
感谢。
答案 0 :(得分:0)
您的y
变量是data.frame。在转换为因子数据类型之前,您需要使用[[
将第一列从数据框中分配出来(尽管可能只有一个列)。
# convert y to a factor
y <- as.factor(y[[1]])
然后你应该能够运行你的模型。