楼主: 木木木子丶
733 2

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

  • 0关注
  • 0粉丝

高中生

7%

还不是VIP/贵宾

-

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

楼主
木木木子丶 发表于 2019-11-5 13:55:56 |AI写论文
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
拉您进交流群
GMT+8, 2025-12-24 20:25