【问题标题】:One hot encoding in RR中的一种热编码
【发布时间】:2018-08-22 14:49:31
【问题描述】:

对数据集中的列执行一次热编码后的总列数应该是多少?如果有k列,应该是k-1还是k。

当我尝试使用 model.matrix() SEX 列被转换为两列sexm 和sexf。我明白。 但就教育而言,有四类:G、U、H、O 但它转换成三列。教育,教育和教育。

所以问题是为什么教育栏被分成三栏而不是四栏?它对我的模型有何影响?

编码前:

编码后:

代码如下:

#Factorizing the catagorical variables
df$SEX = factor(df$SEX,levels = c(1,2),labels = c('M','F'))

df$EDUCATION = factor(df$EDUCATION,levels = c(1,2,3,4),labels = 
c('G','U','H','O'))

df$MARRIAGE = factor(df$MARRIAGE,levels = c(1,2,3),labels = c('M','S','O'))

#Encoding (Dummy Variable Creation)
df = data.frame(model.matrix(~.-1,df))

这是原始数据的视图

【问题讨论】:

标签: r machine-learning data-science


【解决方案1】:

实际上这并不重要,两者都是正确的。唯一需要注意的是在测试数据集上复制相同的过程以获得准确的评分。

在您的第二个示例中,当创建 n-1 个变量时,当所有新的 n-1 个变量均为“0”时,原始变量的最终第 n 级在数据中表示。

【讨论】:

    猜你喜欢
    • 2017-04-13
    • 2019-02-14
    • 2021-12-01
    • 2018-12-17
    • 1970-01-01
    • 2016-03-19
    • 2018-10-25
    • 2019-02-06
    • 1970-01-01
    相关资源
    最近更新 更多