python - 删除所有观察值都相同的列会影响我的模型吗?
问题描述
我的数据集中的一列对于所有观察/行具有相同的值。我应该在构建机器学习模型时删除该列吗?
删除此列会影响我的模型/性能指标吗?
如果我用不同的常数值替换所有值,它会改变模型/性能指标吗?
解决方案
机器学习模型只不过是一个数学方程,即
y = f(x)
其中
y = 目标/因变量
f(x) = 自变量(在我们的例子中是包含训练/测试数据的 DataFrame)
所以从技术上讲,ML 模型量化和估计 X 的值是多少,可能的输出 y 是多少。
假设单个整列是恒定的。因此,y 和 f(x=constant) 之间的关系是没有意义的,因为无论 y 的值如何,x 都将保持不变。除了 y 也是常数的唯一选项之外,没有任何数学关系是可能的。我们可以放心地假设情况并非如此,否则为什么要建立一个模型来获得一个恒定值。
因此,我们可以安全地删除任何常量列,这不会将任何数据变化添加到 DataFrame 以节省计算时间,因为该列不会在任何意义上影响 y。
推荐阅读
- asynchronous - await 表达式只能在异步函数中使用
- acumatica - 允许添加新的强制图形/屏幕
- javascript - 通过 data-id 选择画廊并使用 jQuery 将子图像放入数组中
- python - 如何删除特定列的两个不同 csv 文件中的重复项
- node.js - 谷歌距离不适用于异步等待
- javascript - 传播类型只能从对象类型创建。Angular 9 出现问题
- scala - 关于 scala 语句 case List(a) => true 中大小写匹配的问题
- powerbi - 删除表后无法应用更改
- javascript - 将变量分配给函数 - Jquery
- webpack - 如何配置 Quasar 以仅转换、提供和构建特定的 ES6 JavaScript 文件?