train['CategoricalFare'] = pd.qcut(train['Fare'], 4)
# 数据分箱,分成4个箱子
-
目的
连续变量离散化:1~100分成4箱
-
为什么要分箱?
-
离散变量便于特征的增加和减少,便于模型快速迭代
-
稀疏向量内积乘法更快,计算结果便于存储,容易扩展
-
离散化后的特征对异常数据有很强的鲁棒性,例如,连续异常值5000可能对模型影响很大,但如果分箱后,模型影响很小
-
为模型引入非线性,提升模型表达能力,加大拟合
-
模型更加稳定,不会因为各别数据增加而影响模型精度
-
简化模型,防止模型过拟合