原文链接:
数据竞赛三剑客变四剑客了~
早期做数据竞赛的时候,常听大家戏称
Catboost,Xgboost和Lightgbm
为竞赛三剑客,如今,在诸多的竞赛中,又多了一位
HistGradientBoosting
,该算法基本也会出现在所有的竞赛问题中。例如:Steel Plate Defect Prediction竞赛中第二名的模型就是用到了HistGradientBoostingClassifier。
关于HistGradientBoosting算法
基于直方图的模型HistGradientBoosting算法相较于GradientBoostingClassifier 和 GradientBoostingRegressor:
HistGradientBoosting算法首先将输入样本 X 划分为整数值的箱(通常为 256 个箱),这极大地减少了需要考虑的分割点数量,并允许算法在构建树时利用基于整数的数据结构(直方图),而不是依赖排序的连续值。
RETRAIN_HGBC_MODEL = False
def objective(trial):
# Define hyperparameters to tune
param = {
'learning_rate': trial.suggest_float('learning_rate', 0.005, 0.1),
'max_iter': trial.suggest_int('max_iter', 100, 2500), # Equivalent to n_estimators
'max_depth': trial.suggest_int('max_depth', 3, 20),
'l2_regularization': trial.suggest_float('l2_regularization', 1e-8, 10.0, log=True), # Equivalent to reg_lambda
'min_samples_leaf': trial.suggest_int('min_samples_leaf', 20, 300),
'max_bins': trial.suggest_int('max_bins', 25, 255),
auc_scores = []
for train_idx, valid_idx in cv.split(X, y):
X_train_fold, X_valid_fold = X.iloc[train_idx], X.iloc[valid_idx]
y_train_fold, y_valid_fold = y.iloc[train_idx], y.iloc[valid_idx]
# Create and fit the model
model = HistGradientBoostingClassifier(**param)
model.fit(X_train_fold, y_train_fold)
# Predict class probabilities
y_prob = model.predict_proba(X_valid_fold)
# Compute the AUC for each class and take the average
average_auc = roc_auc_score(targets_bin.iloc[valid_idx], y_prob[:, 1:], multi_class="ovr", average="macro")
auc_scores.append(average_auc)
# Return the average AUC score across all folds
return np.mean(auc_scores)
if RETRAIN_HGBC_MODEL:
# Example usage with Optuna
hgbc_study = optuna.create_study(direction='maximize', study_name="HistGradientBoostingClassifier_model_training")
hgbc_study.optimize(objective, n_trials=200) # Adjust the number of trials as necessary
# Output the optimization results
print(f"Best trial average AUC: {study.best_value:.4f}")
print(study.best_params)
for key, value in study.best_params.items():
print(f"{key}: {value}")
LightGBM等模型试用的场景都可以直接使用。
-
https://www.kaggle.com/code/yunqicao/2nd-place-solution-steel-plate-defect-prediction
-
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html
THE END !
文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。
大家有推荐的公众号可以评论区留言,共同学习,一起进步。
早期做数据竞赛的时候,常听大家戏称Catboost,Xgboost和Lightgbm为竞赛三剑客,如今,在诸多的竞赛中,又多了一位HistGradientBoosting,该算法基本也会出现在所有的竞赛问题中。例如:Steel Plate Defect Prediction竞赛中第二名的模型就是用到了HistGradientBoostingClassifier。
如何从一个菜鸟成为
kaggle
竞赛
大师
From:https://medium.com/analytics-vidhya/from-a-novice-to-the-youngest-
kaggle
-competition-master-and-landing-in-a-fortune-500-cc8acf49de
一、阅读书籍推荐:
1.
Python
Recom...
Kaggle
是一个
数据分析
的
竞赛
平台,网址:https://www.
kaggle
.com/
首先进入
Kaggle
网站,注册登陆后拉下来会看到进行中的比赛。
关于比赛的细节:
1、我们下载得到的
数据
都是csv格式的
数据
,因为最后只需要提交结果,所以这中间我们使用任何语言任何
算法
都是可以的,没有任何限制
2、初始
数据
中训练集是有Label的,而测试
数据
是没有Label的,我们要做的是用训练集来训练
模型
...
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,
kaggle
教程,方案分析,
竞赛
资料,
竞赛
方案参考,