Machine-Learning
Machine-Learning copied to clipboard
LR / SVM / XGBoost / RandomForest etc.
- Author: Maxiao
- E-Mail: [email protected]
- GitHub: https://github.com/Albertsr
备注:
1. 以下链接均为个人原创整理,理论部分主要为有道云笔记MarkDown文件
2. 部分Markdown文件包含大量LaTeX数学公式,请耐心等待加载
第一部分:机器学习算法
1. 经典非集成监督算法
1.1 【逻辑回归】理论详解:Logistic Regression
1.2 【决策树】理论详解:Decision Tree
1.3 【朴素贝叶斯】理论详解: Naive Bayesian
1.4 【支持向量机】理论详解
2. 集成算法
2.1 Boosting
-
1)GBDT:GBDT理论详解
-
2)GBDT+LR:GBDT与LR的融合理论详解
-
3)XGBoost:XGBoost理论详解
-
自定义损失函数:
-
通过early_stopping确定合理的基学习器个数:
-
-
4)AdaBoost:AdaBoost详解
-
5) LightGBM:LightGBM详解
2.2 Bagging
2.3 Stacking
-
1)Stacking:Stacking详解
-
2)二级Stacking的个人实现:stacking_models.py
-
3)个人实现与Mlxtend对比: stackingmodels_vs_mlxtend.py
3. 聚类
3.1 常见聚类算法原理
3.2 最佳聚类参数
- 基本思想: 运用GridSearch的思路在参数的笛卡尔积中寻找最佳聚类参数
- 代码实现:cluster_centers.py
第二部分:机器学习重要模块
1. 数据探索
-
1.1 综述:数据探索分析
-
1.2 对多个数据进行探索性分析
2. 数据预处理
3. 特征工程
3.1 特征选择
3.2 特征抽取
-
- 奇异值分解(SVD)实现PCA:pca_svd.py
- 特征值分解(EVD)实现PCA:pca_evd.py
-
- KernelPCA重构矩阵:KernelPCA重构矩阵理论分析
- KernelPCA异常检测:Recon_Error_KPCA.py
-
- 验证:sklearn采用SVD实现PCA.ipynb
- 运用TruncatedSVD进行图像处理:truncated_svd_cat
3.3 特征构建
-
1)离散型特征
-
高基数类别特征的处理
-
2)时间型特征的处理
-
3)连续型特征的处理
4. 模型评估
4.1 交叉验证与常见评估指标
4.2 加权覆盖率
-
代码实现:coverage.py
-
定义:
4.3 G-Mean
-
出处: Addressing the Curse of Imbalanced Training Sets: One-Sided Selection [Miroslav Kubat, Stan Matwin; 1997]
-
代码实现: gmean.py
-
定义:
4.4 KS值
-
1)KS值定义: max(TPR-FPR)
-
2)KS值代码实现:ks_value.py
-
3)KS绘制曲线代码:ks_curve.py
4.5 ROC曲线与PRC曲线的绘制
-
1)ROC绘制代码:roc.py
-
2)PRC绘制代码:prc.py
-
3)综合:绘制KS、ROC、PRC曲线.ipynb