“重新排序”分类特征以使其单调是否有意义?

数据挖掘 线性回归 特征提取
2022-02-01 23:47:05

抱歉标题含糊不清;我会解释我的意思。我正在做Kaggle Titanic 初学者教程您感兴趣的标签是您想要在测试数据中预测的“存活”率(0 或 1)。

我做的第一件事是绘制每个特征的平均存活率,对于每个特征,取该特征值的平均存活率。例如,对于“性”功能,您可以查看男性和女性的平均存活率,这为您提供了可以使用的良好信息。

对于像“Fare”和“Age”这样更连续的特征,以同样的方式取平均值是没有意义的,因为不一定有很多人具有相同的确切年龄。所以,我做了“banding”,我做了一个类似直方图的事情,说从 0 到 10 的每个人都是一个波段,10-20 是另一个波段,等等,这些波段现在是可以很好平均的分类特征(这是一个很好的举动,对吧?至少在最初?)。

这就是我得到的:

在此处输入图像描述

这就是背景。现在,这是我的问题。我想从一个简单的模型开始,比如线性回归。对于某些功能,例如 Sex 或 Pclass,很明显线性模型可以很好地拟合它。然而,对于像 AgeBand 这样的一些人来说,增加 AgeBand 并没有真正明确、单调的趋势……但不同频段之间的存活率肯定存在差异!

所以你可以做的是,按照存活率对那些“非单调”的特征进行排序,所以它是单调的,然后将它们用于线性回归。这是个好主意吗?

例如,这是按存活率排序的 AgeBand 特征:

在此处输入图像描述

1个回答

我一般不建议这样做,因为它可能会导致过度拟合。

虽然特定的重新排序可能会提高数据集的拟合度,但目标是创建具有良好预测能力的模型。如果你收到从未见过的独立的第二、第三、第一百个泰坦尼克号的数据,排序还会一样吗?我对此表示怀疑。您可能会错误地使用固定在第一个真正的泰坦尼克号上的有点武断的顺序来处理新数据,其中顺序不再相同。

我认为故事是年轻人和老年人得到了优待,这就是他们的存活率更高的原因。因此,您的 AgeBand 曲线应近似为 U 形。(大约是这样。)如果您坚持线性回归,我看不出您如何(直接)包含这种非线性(U 形)效应。

选择特征的假设(特殊性)越少越好。然后对我来说重新排序更有意义,这样你就可以从两端交替选择乐队(从中间开始):(3, 4, 2, 5, 1, 6, 0, 7或以相反的顺序,从两端开始)。或者,甚至更好的是,将年龄段划分为更粗略的组:{1,2,3}, {4,5,6,7}, {0}. 我认为您的探索性数据分析证明了这些是合理的。

当我查看 AgeBand 图中的值范围($0.33$ 到 $0.55$)时,这个变量实际上并没有像 Pclass、Sex、FareBand 那样解释。最后你可能最终还是从你的变量中删除它,所以再一次,你对它的关注越多,你就越有过度拟合的风险。0.33 to 0.55), this variable does not actually explain as much as Pclass, Sex, FareBand. In the end you might end up dropping it from your variables anyway, so once again, the more attention you pay to it, the more you're at risk of overfitting.