Kaggle

文章详细介绍了参与Kaggle结构性比赛时的数据分析流程,包括密度分布、特征相关性分析等,并深入探讨了CatBoost和LightGBM模型的关键参数设定,如n_estimators、learning_rate、max_depth和min_data_in_leaf等,这些参数对于防止过度拟合和优化模型性能至关重要。

Kaggle结构性比赛分析流程:

密度分布

类别特征与数值特征

相关性

模型参数:

  • Catboost
    • n_estimators:表示用于创建树的最大数量;
    • learning_rate:表示学习率,用于减少梯度的级别;
    • eval_metric:表示用于过度拟合检测和最佳模型选择的度量标准;
    • depth:表示树的深度;
    • subsample:表示数据行的采样率,不能在贝叶斯增强类型设置中使用;
    • l2_leaf_reg:表示成本函数的L2规则化项的系数;
    • random_strength:表示在选择树结构时用于对拆分评分的随机量,使用此参数可以避免模型过度拟合;
    • min_data_in_leaf:表示在一个叶子中训练样本的最小数量。CatBoost不会在样本总数小于指定值的叶子中搜索新的拆分;
    • colsample_bylevel, colsample_bytree, colsample_bynode — 分别表示各个层、各棵树、各个节点的列采样率;
    • task_type:表示选择“GPU”或“CPU”。如果数据集足够大(从数万个对象开始),那么在GPU上的训练与在CPU上的训练相比速度会有显著的提升,数据集越大,加速就越明显;
    • boosting_type:表示在默认情况下,小数据集的增强类型值设置为“Ordered”。这可以防止过度拟合,但在计算方面的成本会很高。可以尝试将此参数的值设置为“Plain”,来提高训练速度;
    • rsm:对于那些具有几百个特性的数据集,rsm参数加快了训练的速度,通常对训练的质量不会有影响。另外,不建议为只有少量(10-20)特征的数据集更改rsm参数的默认值;
    • border_count:此参数定义了每个特征的分割数。默认情况下,如果在CPU上执行训练,它的值设置为254,如果在GPU上执行训练,则设置为128;
  • LightGBM
    • num_leaves:表示一棵树中最大的叶子数量。在LightGBM中,必须将num_leaves的值设置为小于2^(max_depth),以防止过度拟合。而更高的值会得到更高的准确度,但这也可能会造成过度拟合;
    • max_depth:表示树的最大深度,这个参数有助于防止过度拟合;
    • min_data_in_leaf:表示每个叶子中的最小数据量。设置一个过小的值可能会导致过度拟合;
    • eval_metric:表示用于过度拟合检测和最佳模型选择的度量标准;
    • learning_rate:表示学习率,用于降低梯度的级别;
    • n_estimators:表示可以创建树的最大数量;
    • colsample_bylevel, colsample_bytree, colsample_bynode — 分别表示各个层、各棵树、各个节点的列采样率;
    • boosting_type — 该参数可选择以下的值:
      • ‘gbdt’,表示传统的梯度增强决策树;
      • ‘dart’,缺失则符合多重累计回归树(Multiple Additive Regression Trees);
      • ‘goss’,表示基于梯度的单侧抽样(Gradient-based One-Side Sampling);
      • ‘rf’,表示随机森林(Random Forest);
    • feature_fraction:表示每次迭代所使用的特征分数(即所占百分比,用小数表示)。将此值设置得较低,来提高训练速度;
    • min_split_again:表示当在树的叶节点上进行进一步的分区时,所需最小损失值的减少量;
    • n_jobs:表示并行的线程数量,如果设为-1则可以使用所有的可用线程;
    • bagging_fraction:表示每次迭代所使用的数据分数(即所占百分比,用小数表示)。将此值设置得较低,以提高训练速度;
    • application :default(默认值)=regression, type(类型值)=enum, options(可选值)=
      • regression : 表示执行回归任务;
      • binary : 表示二进制分类;
      • multiclass:表示多个类的类别;
      • lambdarank : 表示lambdarank 应用;
    • max_bin:表示用于存放特征值的最大容器(bin)数。有助于防止过度拟合;
    • num_iterations:表示增强要执行的迭代的迭代;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值