R语言caret包的学习(一)--数据预处理

caret包(Classification and Regression Training)是一系列函数的集合,它试图对创建预测模型的过程进行流程化。本系列将就数据预处理、特征选择、抽样、模型调参等进行介绍学习。

本文将就caret包中的数据预处理部分进行介绍学习。主要包括以下函数:model.matrix(),dummyVars(),nearZeroVar(),findCorrelation(),findLinearCombos(),preProcess(),classDist(),featurePlot()

创建虚拟变量

创建虚拟变量的两个主要函数:model.matrix , dummyVars

model.matrix()

 model.matrix(object, data = environment(object), contrasts.arg = NULL, xlev = NULL, ...) 

其实,主要参数为object,一个公式;data就是引用的数据咯

这里,式子中 ~后可以理解为要展开的数据(其实也可以有只有一个因子水平的数据,从而便于在展开数据的同时,cbind其他列的数据,从而得到接下来分析用到的数据),结果返回的是matrix类型

如上所示,有3个因子水平的a被展开成2列,其他一列被省掉,减少了多重共线性的困扰。但是,没搞明白,intercept是怎么得出来的?????

dummyVars()

 dummyVars(formula, data, sep = ".", levelsOnly = FALSE, fullRank = FALSE, ...) 

其用法跟model.matrix差不多,主要参数依旧是formula和data

不同的是

可以看出两点不同了:1. 需要调用predict函数才能显示矩阵   2. 是对所有level进行展开

此外,dummyVars还可以生成交互的展开

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值