机器学习中的集成方法与降维技术
1. 梯度提升与XGBoost
梯度提升可以使用其他成本函数,这由 loss 超参数控制。在流行的Python库XGBoost中,有梯度提升的优化实现,它代表极端梯度提升。该库最初由陈天奇开发,旨在实现极快的速度、可扩展性和可移植性。在机器学习竞赛中,XGBoost常常是获胜方案的重要组成部分。
XGBoost的API与Scikit - Learn的非常相似,以下是一个简单的使用示例:
import xgboost
xgb_reg = xgboost.XGBRegressor()
xgb_reg.fit(X_train, y_train)
y_pred = xgb_reg.predict(X_val)
XGBoost还提供了一些不错的特性,比如自动处理提前停止:
xgb_reg.fit(X_train, y_train,
eval_set=[(X_val, y_val)], early_stopping_rounds=2)
y_pred = xgb_reg.predict(X_val)
2. 堆叠集成方法
堆叠(stacking)是一种集成方法,其核心思想是训练一个模型来聚合集成中所有预测器的预测结果,而不是使用简单的函数(如硬投票)。
训练堆叠集成的混合器(blender)通常使用留出集(hold - out set),具体步骤如下:
超级会员免费看
订阅专栏 解锁全文
1343

被折叠的 条评论
为什么被折叠?



