机器学习模型—CatBoost
作为俄罗斯科技公司Yandex推出的开源机器学习库,CatBoost可以说是当前Gradient Boosting算法发展的新里程碑。相较于广为人知的XGBoost,CatBoost在处理类别特征、纵向样本采样和有序训练数据方面做出了创新性的改进,展现了卓越的性能。
我们经常遇到包含分类特征的数据集,为了将这些数据集适合 Boosting 模型,我们对数据集应用了各种编码技术,例如 One-Hot 编码或标签编码。但是应用 One-Hot 编码会创建一个稀疏矩阵,有时可能会导致模型过度拟合,我们使用 CatBoost 来处理这个问题。CatBoost 自动处理分类特征。
什么是 CatBoost
CatBoost或 Categorical Boosting 是 Yandex 开发的开源 boosting 库。它设计用于解决具有大量独立特征的回归和分类等问题。
Catboost 是梯度增强的一种变体,可以处理分类特征和数值特征。它不需要任何特征编码技术(例如One-Hot Encoder或Label Encoder)来将分类特征转换为数值特征。它还使用一种称为对称加权分位数草图(SWQS)的算法,该算法自动处理数据集中的缺失值,以减少过度拟合并提高数据集的整体性能。
处理类别特征的创新:
大多数Gradient Boosting算法在处理类别特征时都需要进行one-hot编码,这种做法虽然简单但容易造成维度灾难。CatBoost巧妙地利用了有序目标编码,替代了one-hot编码。具体地,对于每个类别特征,CatBoost按照其数值目标的统计平均值对类别进行排序,并将其映射为连续值。这种编码方式大幅降低了内存消耗,也使模型能更好地处理类别数据。
纵向样本采样策
标签:编码,机器,特征,模型,CatBoost,处理,Boosting,类别 From: https://blog.csdn.net/king14bhhb/article/details/136757959