R语言之数据管理
作者:谢佳标
微软中国MVP,多届中国R语言大会演讲嘉宾,目前在创梦天地担任数据分析师一职, 作为创梦天地数据挖掘组的负责人,带领团队对游戏数据进行深度挖掘, 主要利用R语言进行大数据的挖掘和可视化工作。
数据挖掘重要的一环就是如何管理你的数据,因为原始数据一般都不能直接用来进行分析,需要对原始数据进行增加衍生变量、数据分箱、数据标准化处理;对因子型变量进行哑变量处理;数据抽样和类失衡数据处理。本专题会详细介绍以上内容的数据挖掘技术及R语言实现。
数据转换
对于数据挖掘分析建模来说,数据转换(Transformation)是常用、重要,也是有效的一种数据处理技术。经过适当的数据转换后,模型的效果常常可以有明显的提升,也正因为这个原因,数据转换成了很多数据分析师在建模过程中喜欢使用的一种数据处理手段。另一方面,在绝大数数据挖掘实践中,由于原始数据,在此主要是指区间型变量(Interval)的分布不光滑(或有噪声),不对称分布(Skewed Distributions),也使得数据转化成为一种必须的技术手段。
按照采用的转换逻辑和转换目的的不同,数据转换主要分为以下四大类:
产生衍生变量。
这类转换的目的很直观,即通过对原始数据进行简单、适当地数据公式推导,产生更有商业意义的新变量。例如,我们收集了近一周的付费人数和付费金额,此时想统计每日的日均付费金额(arpu=revenue/user),此时就可以通过前两个变量快速实现。
> # 创建数据集
> w <- data.frame(day = 1:7,
+ revenue = sample(5000:6000,7),
+ user = sample(1000:1500,7))
> w
day revenue user
1 1 5391 1223
2 2 5312 1418
3 3 5057 1343
4 4 5354 1397
5 5 5904 1492
6 6 5064 1113
7 7 5402 1180
> # 增加衍生变量人均付费金额(arpu)
> w$arpu <- w$revenue/w$user
> w
day revenue user arpu
1 1 5391 1223 4.408013
2 2 5312 1418 3.746121
3 3 5057 1343 3.765450
4 4 5354 1397 3.832498
5 5 5904 1492 3.957105
6 6 5064 1113 4.549865
7 7 5402 1180 4.577966
相关文章