前言
相信很多人在实际生产的过程中遇到过“维度灾难”,数据的变量/维度过多,随着维数的增加,计算量呈指数倍增长。并且,稀疏性对于任何要求有统计学意义的方法而言都是一个问题。所以在面对“维度灾难”时我们要做好数据降维,选择合适的变量或合成适当的特征,这对支撑之后的分析起到了决定性作用。
数据准备
我们以一个kaggle上的信用卡消费数据集为例
百度网盘下载:
链接:https://pan.baidu.com/s/1Qv3nAJxfo7hxjdTOGoLOXA
提取码:f4ks
pacman::p_load(caret, tidyverse, data.table)
set.seed(1)
data <- fread("D://contest//transactions.csv", stringsAsFactors = T) %>%
tbl_df() %>%
sample_frac(.1) #抽样数据集的10%
#看一下数据维度:18513条记录 、 14个变量
> names(data)
[1] "authorized_flag" "card_id" "city_id" "category_1" "installments"
[6] "category_3" "merchant_category_id" "merchant_id" "month_lag" "purchase_amount"
[11] "purchase_date" "category_2" "state_id" "subsector_id"
> dim(data)
[1] 18513 1