模型训练-中
GBDT
用多棵决策树来拟合数据样本,但是,树与树之间是有依赖关系的,每一棵树的构建,都是基于前一棵树的训练结果。因此GBDT的设计思想是"站在 前人的肩膀上看得更远"。
在GBDT的训练过程中,每一棵树的构建,都是基于上一棵树输出的"样本残差"。
GBDT的特点是拟合能力超强,但同时要注意决策树过深,过多而带来的过拟合隐患。
通过定义GBTRegressor来定义GBDT模型,其中setLabelCol、setFeaturesCol都是老生常谈的方法,setMaxDepth和setMaxlter,这两个方法用于避免GBDT模型出现过拟合的情况,前者限定每棵树的深度,而后者直接限制了GBDT模型中决策树的总体数目。后面的训练过程,依然是调用模型的fit方法。
K-mean
结合数据样本的特征向量,根据向量之间的相对距离,K-mean算法可以把所有样本划分为K个类别。
算法步骤:
1、初始化质心
随机选择 K 个数据点作为初始质心,或使用改进方法(如 K-means++)优化初始质心选择。
2、分配数据点到簇
计算每个数据点到所有质心的距离(通常使用欧氏距离),将其分配到最近的质心对应的簇。
3、更新质心位置
重新计算每个簇的质心,取簇内所有数据点的均值作为新质心。
4、判断收敛
重复步骤 2 和 3,直到质心变化小于阈值或达到最大迭代次数。
K-mean的设计思想是"物以类聚",主要依赖向量之间的相对距离,它的计算结果,一方面可以直接用于划分"人群"、"种群",另一方面可以拿来当做生成特征,去参与至监督学习的训练中去。