如何用R中的几个分类变量对数据集进行热编码?
有人知道我如何更好地清理这些数据,以便对其进行逻辑回归吗 我试图用多个类别(如下面的示例数据集所示)对变量进行热编码,但不确定如何进行 我计划将收入更改为1和0,因为只有2个类别,但我不能对其余类别执行相同的操作 我目前的计划是对所有列出的变量进行逻辑回归:如何用R中的几个分类变量对数据集进行热编码?,r,analytics,data-science,one-hot-encoding,R,Analytics,Data Science,One Hot Encoding,有人知道我如何更好地清理这些数据,以便对其进行逻辑回归吗 我试图用多个类别(如下面的示例数据集所示)对变量进行热编码,但不确定如何进行 我计划将收入更改为1和0,因为只有2个类别,但我不能对其余类别执行相同的操作 我目前的计划是对所有列出的变量进行逻辑回归: data <- read.csv("adult_income.csv") mylogit <- glm(formula = income ~ age + workclass + educaitonal-num +
data <- read.csv("adult_income.csv")
mylogit <- glm(formula = income ~ age + workclass + educaitonal-num +
martial status + occupation + race + gender +
capital-gain + capital-loss + hours-per-week +
native-country, data = data, family = "binomial")
dataR在as.factor()函数中封装变量时,hot会很好地对分类变量进行内部编码。
问题已经在R中得到了回答,当您将变量包装到as.factor()函数中时,一个hot在内部对分类变量进行了很好的编码。
问题已经在
使用数据。表
和mltools
:
df <- as.data.table(df)
df_oh <- one_hot(df)
导致:
> head(df)
age education_level marital_status occupation gender hours income
1 26 12 Widowed Poledancing Woman 39.69357 >50K
2 70 12 Widowed Poledancing Man 39.35318 >50K
3 21 14 Divorced Admin Woman 40.72573 <=50K
4 56 1 Married Banking Man 39.04525 >50K
5 81 2 Widowed Farming Unicorn 39.21665 <=50K
6 38 5 Widowed Admin Man 39.94481 <=50K
>头部(df)
年龄教育水平婚姻状况职业性别时数收入
12612丧偶波兰舞女39.69357>50K
27012丧偶波兰男子39.35318>50K
32114离婚行政管理妇女40.72573 50K
5 812丧偶农业独角兽39.21665
使用数据。表
和mltools
:
df <- as.data.table(df)
df_oh <- one_hot(df)
导致:
> head(df)
age education_level marital_status occupation gender hours income
1 26 12 Widowed Poledancing Woman 39.69357 >50K
2 70 12 Widowed Poledancing Man 39.35318 >50K
3 21 14 Divorced Admin Woman 40.72573 <=50K
4 56 1 Married Banking Man 39.04525 >50K
5 81 2 Widowed Farming Unicorn 39.21665 <=50K
6 38 5 Widowed Admin Man 39.94481 <=50K
>头部(df)
年龄教育水平婚姻状况职业性别时数收入
12612丧偶波兰舞女39.69357>50K
27012丧偶波兰男子39.35318>50K
32114离婚行政管理妇女40.72573 50K
5 81 2丧偶农业独角兽39.21665安装库假人
例如:
library(dummies)
# example data
df1 <- data.frame(id = 1:4, year = 1991:1994)
df1 <- cbind(df1, dummy(df1$year, sep = "_"))
安装库假人
例如:
library(dummies)
# example data
df1 <- data.frame(id = 1:4, year = 1991:1994)
df1 <- cbind(df1, dummy(df1$year, sep = "_"))
我的目标是创建一个logit模型,根据个人的年龄、职业、工人阶级等,该模型可以反映个人收入高于或低于50k的概率。我相信matrix.model()就是您想要的。如果它对分类变量使用一个热编码,我就不肯定了。欢迎来到Stackoverflow,@peterpra!如果您可以通过dput(head(df))
将数据发布到原始问题中或创建模拟数据,则效果会更好。您可能会发现下面的链接很有用:您可能会发现这个链接很有用:我的目标是创建一个logit模型,根据个人的年龄、职业、工人阶级等,该模型反映个人收入高于或低于50k的概率。我相信matrix.model()就是您想要的。如果它对分类变量使用一个热编码,我就不肯定了。欢迎来到Stackoverflow,@peterpra!如果您可以通过dput(head(df))
将数据发布到原始问题中或创建模拟数据,则效果会更好。您可能会发现以下链接很有用:您可能会发现此链接很有用: