lightgbm算法学习
主要组件
Boosting
void GBDT::Init(const Config* gbdt_config, const Dataset* train_data,const ObjectiveFunction* objective_function,const std::vector<const Metric*>& training_metrics) override
初始化,主要是创建样本采样策略data_sample_strategy_
,设置目标函数objective_function_
,创建tree_learner_
,创建train_score_updater_
,配置training_metrics_
void GBDT::Train(int snapshot_freq, const std::string& model_output_path) override
训练处理
bool GBDT::TrainOneIter(const score_t* gradients, const score_t* hessians) override
单次迭代训练
void GBDT::Boosting()
计算梯度和海森矩阵
void UpdateScore(const Tree* tree, const int cur_tree_id)
树训练完后更新评分