R中的一种热编码

R中的一种热编码,r,machine-learning,data-science,R,Machine Learning,Data Science,对数据集中的列执行一次热编码后,列的总数应该是多少?如果有k列,它应该是k-1还是k 当我尝试使用model.matrix()进行此操作时 SEX列转换为sexm和sexf两列。我明白。 但就教育而言,有四类:G、U、H、O 但它被转换成三列。教育,教育,教育 所以问题是,为什么教育栏目被分成三个栏目而不是四个栏目?它如何影响我的模型 编码前: 编码后: 代码如下: #Factorizing the catagorical variables df$SEX = factor(df$SEX,l

对数据集中的列执行一次热编码后,列的总数应该是多少?如果有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))
这是原始数据的视图


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


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

请共享所使用的代码和数据。这属于打开,因为这不是编程问题。