将Y变量更改为factor,丢失信息

时间:2017-08-01 09:48:54

标签: r target

我正在尝试机器学习任务。因此,我必须转换我的数据。

目标变量是数字:例如:

df$target
9.0
8.0
6.0
6.5

但这些数字彼此接近(没有不足的数字)。因此我更改了数字:

> df$target <- cut(df$target, 4) 
> levels(df$target) <- c("Bad", "Neutral", "Good", "Amazing")

Class = numeric,所以我把它们作为一个因子(ML需要):

  

df $ target&lt; - as.factor(df $ target)

但是当我检查标签时,有趣的是看到他们没有按照我的水平做出回应,但是:

>unique(df$target) 
>[1] 42613 42475 42399 42536 42735 42521

我需要目标只有4个独特的标签:坏,中立,好和惊人。怎么可能不工作?甚至更好:我怎样才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可能需要提供一个可重复性最小的示例来获得更好的答案。看来你正在做正确的事情应该有效,但不知何故你的数据框架没有更新。

此示例适用于我:

.fade-enter-active[key="noItems"] {
    background-color: yellow;
}

答案 1 :(得分:0)

此处相同...此代码没有问题

library(data.table)
A = data.table(B = 1:10)
A[,B:= cut(B,4)]
levels(A$B) = letters[1:4]
unique(A$B)