# industry_algorithms **Repository Path**: xiwanggit/industry_algorithms ## Basic Information - **Project Name**: industry_algorithms - **Description**: 常见挖掘算法 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-06-30 - **Last Updated**: 2022-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * 环境:Python(anaconda):3.7 * [常见挖掘算法](https://gitee.com/xiwanggit/book-ml/blob/master/note/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E5%B7%A5%E4%B8%9A%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3%E4%B8%8E%E5%AE%9E%E6%88%98.md) * 回归 * 广义线性回归([GLR](https://scikit-learn.org/stable/modules/linear_model.html#generalized-linear-regression)) * 逻辑回归([LR](https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression)) * 序列 * 隐马尔科夫 * NLP词向量化 * 决策树 * 简单问题 * 随机森林:由决策树构成的集成算法 * 基本原理 * 由很多决策树构成,不同决策树之间没有关联 * 每棵树均对新样本进行分类,哪一个分类最多,就是随机森林的最终结果 * 步骤 * 随机抽样训练决策树 * 随机选取属性,做节点分裂属性 * 重复上步,直到不能分裂为止 * 建立大量决策树形成森林 * 优缺点 * 优点 * 可以出来很高维度(特征很多)的数据,并且不用降维,无需做特征选择 * 可以判断特征的重要程度 * 可以判断出不同特征之间的营销 * 不容易过拟合 * 训练速度快,容易做成并行 * 实现简单 * 对于不平衡的数据集来说,可平衡误差 * 如果有很大一部分的特征遗失,仍可以维持准确度 * 缺点 * 在某些噪音较大的分类或回归问题上会过拟合 * 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,故随机森林在这种数据上产出的属性权值不可信 * 场景 * 分类:离散值 * 回归:连续值 * 聚类 * 异常检测 * AdaBoost * Boosting家族 * 基本思想:一些列弱分类器,通过加权线性组合,得到一个强分类器 * AdaBoost为损失函数是指数损失的Boosting算法 * 原理 * 训练弱分类器时,将关注点放在被错误分类的样本上,减小上一轮被正确分类的样本权值,提高错误分类的样本权值。然后在根据采用的一些基本ML算法(如:LR)进行学习 * 多个弱分类器的权重迭代时,减小分类误差大的弱分类器权重,加大误差小的弱分类器权重 * 特征多 * XGBoost * 相关文档 * [官网文档](https://xgboost.readthedocs.io/en/latest/python/index.html) * [Parameters](https://xgboost.readthedocs.io/en/latest/parameter.html) * [github](https://github.com/dmlc/xgboost) * [csdn blog](https://blog.csdn.net/a819825294/article/details/51206410) * 概况 * Boosting家族 * 提升树模型:将很多树模型集成在一起,形成一个很强的分类器,所用到的树模型为CART回归树 * 优缺点 * 优点 * 使用许多策略防止过拟合:正则化、Shrinkage and Column Subsampling等 * 目标函数优化利用了损失函数关于待求函数的二阶导数 * 支持并行化。虽然树与树串行,但同层级节点可并行 * 添加了对稀疏数据的处理 * 交叉验证,early stop * 支持设置样本权重,该权重体现在一阶导数$g$和二阶导数$h$ * 缺点 * 贪心算法,耗时 * 应用场景 * 分类问题 * 推荐(映射为分类) * CTR预估 * code * decision_tree.py * 单颗决策树 * 随机森林 * AdaBoost * xgb_model.py * 回归 * 二分类 * 多分类 * regression.py * 逻辑回归 * 广义线性回归 * tweediereg * 多项式回归 * 稳健回归