楼主: 木木木子丶
482 2

[作业] 求大佬们回答 [推广有奖]

  • 0关注
  • 0粉丝

高中生

7%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
176 点
帖子
9
精华
0
在线时间
18 小时
注册时间
2019-10-23
最后登录
2019-11-6

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


关键词:机器学习 二进制 R函数 数值型 学习的 SAS数据分析方法 面板数据分析 数据分析 R语言
沙发
luzifer_li 发表于 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>

使用道具

藤椅
skyfx 发表于 2019-11-11 17:12:34 |只看作者 |坛友微信交流群
  1. substring(paste(rev(as.integer(intToBits(4))), collapse=""),29)
复制代码

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-29 02:47