【发布时间】:2019-07-23 14:34:39
【问题描述】:
我开始学习线性回归,我正在解决这个问题。当我在自变量和因变量之间绘制散点图时,我得到垂直线。我有 0.5M 样本数据。 X 轴数据在 0-20 范围内给出。在这种情况下,我得到同一个 x 轴点的多个目标值,因此它绘制垂直线。 我的问题是,有什么方法可以转换数据,使其不执行垂直线并且我可以让我的模型正常工作。有 5-6 个这样的自变量绘制相同的模式。 提前致谢。
【问题讨论】:
-
线性回归的目标是找到显示最小误差的最佳拟合。如果您的数据集显示一条具有垂直性质的线,则模型显然会拟合一条与数据非常垂直的线。
-
在垂直线的情况下,即使回归画线,错误也不会是最小的。我说的对吗?
-
没有兄弟。误差是根据数据点计算的。如果您有具有线性性质的数据集,则线性回归将始终追求最小误差。取决于数据。数据的视觉形状看起来更垂直还是水平并不重要。线性回归将始终适合数据的形状。
-
@IbtihajTahir 线拟合的常见实现,例如 scikits 中的 RANSAC 使用线模型 ax + b = 0。这个模型是有缺陷的。垂直线将有一个 = 无限的,它总是会返回一个错误的结果。所以是的,如果你依赖这些库,一条垂直线会破坏你的代码。