我有一个几乎有85列的数据集。我正在尝试清除数据,然后使用模型来预测房价。我可以在95%的行中删除具有单个值的列吗?如果整列中的值都相同,那么它将如何影响我的模型?
table(data$Utilities)
AllPub NoSeWa
2916 1
table(data$Street)
Grvl Pave
12 2907
我的问题是,由于大多数行具有相同的值,因此我可以删除这两列吗?这会影响我的模型吗?
这是dplyr
解决方案:
tooLittleVariation <- function(x, threshold = 0.05) mean(!is.na(x)) < threshold
df %>%
select_if(tooLittleVariation)
不知道数据集或模型很难回答。但是通常您可以说单个列包含的种类越少,包含的信息就越少。独占0
或1
的单个列不能用于区分任何内容。
您要问两件事。子集化数据是很有意义的,您可以使用dplyr软件包中的函数select来仅选择模型中使用的那些变量。
对于您的分析是否有意义是一个统计问题,有一些方法可以使用统计方法来选择变量(请参阅逐步选择),但是我通常建议您根据以前的文献来使用您的专业知识。