XGBoost,处理贷款数据集的连续和固定数据

XGBoost, handling continous and fixed data for loan dataset

背景:

我正在使用 XGBoost 开发一个模型来预测特定贷款是否会违约。我现在已经包含了 Fico 分数的时间序列数据,以及随时间变化的其他变量。因此,我有 13,202 笔独特的贷款,但有超过 300,000 行包含可变和固定数据。

问题:

鉴于我有随时间变化的数据和一些在整个时间内保持固定的数据,例如 属性 的地块大小和平方英尺,XGBoost 能否区分固定数据和可变数据的混合?此外,当将我的数据拆分为训练集和测试集时,他们这样做的方式是相应地拆分贷款本身而不仅仅是行吗?

构建用于预测的机器学习模型的方法有很多种,每种方法各有利弊。

但是,我的原则是无论我做什么以及如何生成新特征,我都不会改变数据的粒度。例如,在这种情况下,如果我预测贷款是否会违约,那么我的行将是唯一贷款,在我的 training/testing 数据中不会出现超过一次的贷款。

这导致您应该如何生成新功能。您提到您有时间序列相关数据(即每笔贷款在不同时间点的特征值)。此时我可能要做的是水平而不是垂直扩展数据。

我会做类似的事情:

    loan_id feat1_t1   feat1_t2   feat1_t3   feat2 ...
          1        5          7          8     0.2 ...

这样我仍然只为每个 loan_id 保留 1 行。 feat1 是在不同时间点收集的变量,因此 _t1_t2_t3。对于固定的变量,我将只有 1 列(即 feat2)。

希望这能回答您的问题。