我的数据是包含 271 个特征的 1,785,000 条记录。我正在尝试减少用于构建模型的功能数量。
Q1。在探索数据时,我发现一些特征几乎都是缺失数据,比如只有 25 条记录对这个特征有价值,而其他记录有缺失值,所以我认为这信息量不够,最好消除这些特征,是吗?正确的?如果我是对的,我能做到什么水平,我的意思是如果每个特征的 90%、80% 等都是缺失值,我什么时候可以决定摆脱这些特征?(考虑到因变量是 N/Y,整个数据中只有 %1.157 属于 Y)。
Q2。对于数据集中的每个个体,列出了 64 个 trait_type,其中每个可以取值 [1 或 3 或 5] 之一。我的问题是:如果某些特征类型只取值 [5] 或所有记录都缺少 dat,它是否有任何价值,或者我们可以再次消除该特征?
Q3。如果选择删除这些功能,如何从 R 中的 data.frame 中删除列?
谢谢
更新:
我正在尝试使用caret
包来进行变量选择。我应用了这个:
ctrl<- rfeControl(functions = lmFuncs, method="cv", verbose = FALSE, returnResamp=
"final")
lmprofile<- rfe(x,y, sizes = subsets, rfeControl = ctrl)
其中x
是具有 270 个因变量的 data.frame,y 是自变量的因子,其值为 Y/N。我收到了这个错误:
Error in { :
task 1 failed - "contrasts can be applied only to factors with 2 or more levels"
enter code here
In addition: There were 11 warnings (use warnings() to see them)
请问有什么帮助吗?