我是否应该在构建机器学习模型的整个列中删除具有相同值的变量?

Should I drop a variable that has the same value in the whole column for building machine learning models?

例如,x 列有 50 个值,所有这些值都相同。

为了构建机器学习模型,删除这些变量是个好主意吗?如果是这样,我如何在大型数据集中发现这些变量?

我想可能需要 formula/function 才能这样做。我正在考虑使用可以考虑整个数据集的 nunique。

您应该删除此类列,因为它不会提供有关每个数据点之间差异的额外信息。对于一些机器学习模型(由于算法工作的性质),如随机森林,保留该列是很好的,因为实际上不会选择此列来拆分数据。

要发现这些,尤其是对于分类变量或名义变量(具有固定数量的可能值),您可以计算每个唯一值的出现次数,如果众数大于某个阈值(比如 95%),然后从模型中删除该列。

如果没有变量,我个人会一个一个地过一遍,这样我就可以完全理解模型中的每个变量,但是如果特征量太大,上面的系统方法是可行的。