我可以在95%的行中删除具有单个值的列吗?

问题描述 投票:0回答:3

我有一个几乎有85列的数据集。我正在尝试清除数据,然后使用模型来预测房价。我可以在95%的行中删除具有单个值的列吗?如果整列中的值都相同,那么它将如何影响我的模型?

table(data$Utilities)
AllPub      NoSeWa 
2916         1 

table(data$Street)
Grvl         Pave   
12           2907 

我的问题是,由于大多数行具有相同的值,因此我可以删除这两列吗?这会影响我的模型吗?

r machine-learning data-science data-cleaning
3个回答
0
投票

这是dplyr解决方案:

tooLittleVariation <- function(x, threshold = 0.05) mean(!is.na(x)) < threshold

df %>%
    select_if(tooLittleVariation)

0
投票

不知道数据集或模型很难回答。但是通常您可以说单个列包含的种类越少,包含的信息就越少。独占01的单个列不能用于区分任何内容。


0
投票

您要问两件事。子集化数据是很有意义的,您可以使用dplyr软件包中的函数select来仅选择模型中使用的那些变量。

对于您的分析是否有意义是一个统计问题,有一些方法可以使用统计方法来选择变量(请参阅逐步选择),但是我通常建议您根据以前的文献来使用您的专业知识。

© www.soinside.com 2019 - 2024. All rights reserved.