1.机器学习基本步骤
探索性数据分析->数据预处理->提取特征->切分训练集与验证集->训练模型->预测结果
2.LightGBM
LightGBM的基本原理
LightGBM主要基于以下几个数学原理和策略:
-
梯度提升:LightGBM采用梯度提升算法,通过迭代地训练多个弱学习器(通常是决策树),并将它们的结果进行加权组合,以形成最终的强学习器。
-
基于直方图的算法:LightGBM将数据按特征值进行离散化,构建直方图并对其进行优化,从而减少了内存消耗和计算时间。这种策略使得LightGBM在处理大规模数据集时表现出色。
-
按叶子节点分割的决策树:与传统的梯度提升树算法在每个节点上都尝试所有特征的切分点不同,LightGBM在构建决策树时采用了按叶子节点分割的策略。这样可以减少计算量,并且更容易处理高维稀疏特征。
LightGBM的优点
-
高效性:LightGBM采用了基于直方图的算法和按叶子节点分割的决策树策略,使得其训练和预测速度非常快,尤其适用于处理大规模数据集。
-
低内存消耗:由于使用了直方图算法和按叶子节点分割的策略,LightGBM在训练过程中能够显著减少内存消耗。
-
高准确性:LightGBM通过优化算法和特征选择等方法提高了模型的准确性,在一些数据集上表现优于传统的梯度提升决策树算法。
-
可扩展性:LightGBM支持并行化训练和预测,可以利用多核CPU和分布式计算资源进行加速。它还支持特征并行化和数据并行化,能够处理大规模的特征和样本。
-
灵活性:LightGBM支持自定义损失函数和评估指标,可以根据具体需求进行定制化。它还支持特征选择和特征重要性评估,有助于用户进行特征工程和模型优化。
LightGBM的缺点
-
对噪声敏感:由于使用了较小的叶子节点,LightGBM对噪声比较敏感,可能会导致过拟合。因此,在使用时需要进行适当的正则化。
-
参数调节困难:LightGBM有许多参数需要调节,不同的参数组合可能会导致不同的效果。因此,需要花费一定的时间和精力来进行参数调节。
-
不支持在线学习:LightGBM不支持在线学习,需要重新训练模型来适应新数据。这在一些需要实时更新模型的应用场景中可能不太适用。