R语言:利用caret的dummyVars函数设置虚拟变量
caret的dummyVars函数可以帮助我们很快的建立一套完整的虚拟变量 , 之前没见过 , 今天见到了 , 写下来 。
看例子customers <- data.frame(id=c(10,20,30,40,50),gender=c('male','female','female','male','female'),mood=c('happy','sad','happy','sad','happy'),outcome=c(1,1,0,0,0))
建立如上的数据框后 , 我们可以选择将整个数据框虚拟变量化 , dummyVars这个函数默认会把所有的分类变量都虚拟化:
dmy <- dummyVars(" ~ .", data = http://kandian.youth.cn/index/customers)trsf <- data.frame(predict(dmy, newdata = customers))print(trsf)
看结果:
文章插图
看 , 除了id和outcome之外所有的分类变量都被完全虚拟化了 , 同时我们还有注意它使用了“~”这个符号 , 回归符号 , 这个意思就是something ~ (broken down) by something else or groups of other things;如果像我们这样直接用“~”两边什么变量都不设定 , 那么就是默认将所有的分类变量虚拟化 , 如果你只要虚拟化一个变量 , 你就把那个变量放在“~”的后面 , 看下例子:
dmy <- dummyVars(" ~ gender", data = http://kandian.youth.cn/index/customers)trsf <- data.frame(predict(dmy, newdata = customers))print(trsf)
文章插图
此时我们得到的就是只有性别的虚拟变量 。
【R语言:利用caret的dummyVars函数设置虚拟变量】另外 , 还要给大家介绍的一个参数就是fullRank , 这个参数可以自动生成n-1个虚拟变量 , 而非全部虚拟化 , 这个操作是经常见的就是为了避免多重共线性 。 (dummy variable trap) 。
看例子:
dmy <- dummyVars(" ~ .", data = http://kandian.youth.cn/index/customers, fullRank=T)trsf <- data.frame(predict(dmy, newdata = customers))print(trsf)
文章插图
将fullRank设置为T时 , 得到n-1个虚拟变量 。
小结今天给大家介绍了caret的dummyVars函数用来生成哑变量 , 感谢大家耐心看完 。 发表这些东西的主要目的就是督促自己 , 希望大家关注评论指出不足 , 一起进步 。 内容我都会写的很细 , 用到的数据集也会在原文中给出链接 , 你只要按照文章中的代码自己也可以做出一样的结果 , 一个目的就是零基础也能懂 , 因为自己就是什么基础没有从零学Python和R的 , 加油 。
(站外链接发不了 , 请关注后私信回复“数据链接”获取本头条号所有使用数据)
往期内容:
R语言作图:分类变量与连续变量关系的图形化表达
python机器学习:线性回归中的哑变量转换
python数据分析:如何进行哑变量转换
- 设计语言|全新家族设计,三星Galaxy A32渲染图曝光
- 回收利用协|固废“零”时代产业如何共生?
- 不良|打开“无痕模式”就以为无人知?殊不知,“不良网站”正在利用你
- 格式化|利用好这3个隐藏技巧,Power BI 开发体验更丝滑
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- 周娟|梅赛德斯-奔驰周娟:最大化利用品牌资产与客户建立品牌链接
- 曝光|微软新专利曝光 可以与会者面部表情和肢体语言为会议打分
- 学习C语言的软件,就突然被我绿了?
- LeetCode第1 题:两数之和 Go语言精解
- 一个Postman小技巧:利用脚本赋值中间变量,实现两步调用