全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
759 2
2019-11-05
悬赏 5 个论坛币 未解决

2. 机器学习的特征工程领域,通常对于类别型特征进行处理时,需要转换成数值型特征,其中有一种方法叫做二进制编码。二进制编码主要分成两步:先用序号编码给每个类别赋予一个类别ID,然后将类别ID对应的二进制编码作为结果。示例如下表,请编写完成类别变量的二进制编码的R函数。

  

血型

  

类别ID

二进制表示

A

1

0 0 1

B

2

0 1 0

AB

3

0 1 1

O

4

1 0 0


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-11-11 15:15:02
<code>

ordered(c('A','B','AB','O'),levels=c('A','B','AB','O'))->todo
as.integer(todo)->todo

binary<-function(p_number,n=3) {
  bsum<-0
  bexp<-1
  while (p_number > 0) {
     digit<-p_number %% 2
     p_number<-floor(p_number / 2)
     bsum<-bsum + digit * bexp
     bexp<-bexp * 10
  }
n<-max(n,nchar(bsum))
sprintf(paste0("%0",n,"d"),bsum)
}

sapply(todo, binary)


</code>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-11 17:12:34
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群