我的数据集中有一列对于所有观测值/行都具有相同的值。在构建机器学习模型时,我应该删除该列吗?
删除此列是否会影响我的模型/性能指标?
如果我将所有值替换为不同的常量值,是否会更改模型/性能指标?
发布于 2019-12-06 17:15:17
如果数据集中的某一列具有相同的值,则可以删除该列,因为它不会对模型区分两个不同的标签有任何帮助,而另一方面,它甚至会通过在数据中产生偏差而对模型产生负面影响。
例如:假设你有两个不同的水果,一个是绿苹果,另一个是芭乐。然后,这两个水果将具有相同的颜色,即“绿色”,这基本上意味着你不能根据它们的颜色来区分这两种水果,但如果它们是两种不同颜色的水果,你可以使用这个特征来区分它们。
希望它有助于澄清您应该如何处理这样一个具有相同观察集的专栏。
谢谢。
发布于 2019-12-06 20:16:02
机器学习模型只是一个数学方程式,即
Y= f(x)
其中
Y=目标/因变量
f(x) =独立变量(在我们的例子中,是一个包含训练/测试数据的DataFrame )
所以从技术上讲,ML模型量化并估计了X的值,以及可能的输出y。
假设单个整列是恒定的。所以,y和f(x=constant)之间的关系是没有意义的,因为对于任何y值,x都保持不变。除了y也是一个常数的唯一选择外,没有任何数学关系是可能的。我们可以放心地假设情况并非如此,否则为什么你要构建一个模型来获得一个常量值。
因此,我们可以安全地删除任何常量列,这不会向DataFrame中添加任何数据变量以节省计算时间,因为该列在任何意义上都不会影响y。
https://stackoverflow.com/questions/59209830
复制相似问题