尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

YDF进阶任务:Uplift建模与Isolation Forest异常检测的2个完整教程

YDF进阶任务:Uplift建模与Isolation Forest异常检测的2个完整教程 YDF进阶任务Uplift建模与Isolation Forest异常检测的2个完整教程【免费下载链接】yggdrasil-decision-forestsA library to train, evaluate, interpret, and productionize decision forest models such as Random Forest and Gradient Boosted Decision Trees.项目地址: https://gitcode.com/gh_mirrors/yg/yggdrasil-decision-forestsYggdrasil Decision ForestsYDF是一个开源决策森林模型库支持对随机森林Random Forest、梯度提升树GBDT等模型进行训练、评估、解释与生产部署。除常见的分类、回归任务外YDF 还内置了两类高价值的进阶能力Uplift建模增量效应预测和Isolation Forest 异常检测。本文带你快速走通这两个完整教程 。什么是 Uplift 建模预测多出来的效果普通分类模型只能预测用户会不会购买但营销场景真正关心的是发一封邮件到底能多带来多少增量转化。Uplift 建模正是用来预测某个动作treatment的增量影响的统计方法 Uplift效果 收到处理时购买概率 − 未收到处理时购买概率常用于精准营销、医疗干预效果评估等场景避免把预算浪费在本来就会购买的用户身上YDF 要求 Uplift 数据以扁平格式提供包含treatment0/1是否接受处理、outcome结果标签和若干特征列。YDF 同时支持类别型 UpliftCATEGORICAL_UPLIFT与数值型 UpliftNUMERICAL_UPLIFT预测消费金额等数值增量。用 YDF 训练 Uplift 模型安装pip install ydf -U后训练一个 Uplift 模型只需声明 treatment 列和任务类型import ydf import pandas as pd train_ds pd.read_csv(sim_pte_train.csv) test_ds pd.read_csv(sim_pte_test.csv) model ydf.RandomForestLearner( labely, uplift_treatmenttreat, taskydf.Task.CATEGORICAL_UPLIFT ).train(train_ds)教程中使用的模拟数据集文件就存放在仓库里yggdrasil_decision_forests/test_data/dataset/sim_pte_train.csv与sim_pte_test.csv完整可运行的教程见documentation/public/docs/tutorial/uplifting.ipynb。Uplift 模型评估看懂 QINI 与 AUUCUplift 模型不能用准确率评估YDF 使用两个专用指标实现位于yggdrasil_decision_forests/metric/uplift.cc指标含义QINIQini 曲线下面积随机模型得分为 0AUUCUplift 曲线下面积教程中的评估结果约为QINI: 0.1068, AUUC: 0.12082000 条测试样本。两个值越大说明模型越擅长把对营销最敏感的用户排在前面。Isolation Forest 异常检测无需标签揪出稀有样本异常检测是一种无监督学习任务在训练阶段完全不需要异常标签就能给每条数据打一个 0正常1异常的异常分数️。典型应用包括欺诈交易检测、网络入侵识别、生产线质检等。Isolation Forest 由多棵独立训练的决策树组成通过随机切分特征空间来隔离样本——异常点因为稀少往往只需很少几步就能被隔离从而获得更高分数。YDF 的 Python 实现是IsolationForestLearner定义在yggdrasil_decision_forests/port/python/ydf/learner/specialized_learners_pre_generated.py中。训练 Isolation Forest 异常检测模型教程documentation/public/docs/tutorial/anomaly_detection.ipynb以 UCI Covertype 数据集为例让模型不知道哪类是异常去区分常见植被Spruce/Fir约 21 万条与稀有植被Cottonwood/Willow仅约 2700 条model ydf.IsolationForestLearner(featuresfeatures).train(filtered_dataset) predictions model.predict(filtered_dataset)21 万条样本训练仅耗时不到 1 秒且训练时无需提供标签列。如何评估异常分数AUC 达到 0.93由于异常检测是无监督的标签只用于事后验证。教程用 AUC 量化模型对两类植被的区分能力结果约为0.9289说明模型无需任何标签就能精准地把稀有类别识别为异常。解读异常检测模型为什么被判为异常决策森林最大的优势之一是可解释。通过 YDF 的条件期望图Conditional Expectation Plot可以看到正常样本Spruce/Fir通常集中在海拔 29003300 米区间偏离该区间的样本异常分数会显著升高。这意味着你可以向业务方解释某条交易被判异常是因为海拔/金额等特征落在罕见区间。完整教程与相关源码路径清单资源路径Uplift 完整教程Colab 可运行documentation/public/docs/tutorial/uplifting.ipynb异常检测完整教程documentation/public/docs/tutorial/anomaly_detection.ipynbUplift 示例数据集yggdrasil_decision_forests/test_data/dataset/sim_pte_train.csv预训练 Uplift 随机森林模型yggdrasil_decision_forests/test_data/model/sim_pte_categorical_uplift_rf/预训练异常检测模型yggdrasil_decision_forests/test_data/model/gaussians_anomaly_if/Isolation Forest 学习器Pythonyggdrasil_decision_forests/port/python/ydf/learner/specialized_learners_pre_generated.pyQINI/AUUC 指标实现yggdrasil_decision_forests/metric/uplift.cc小结Uplift 建模用RandomForestLearneruplift_treatmentTask.CATEGORICAL_UPLIFT即可预测营销/医疗干预的增量效果用 QINI 与 AUUC 评估。Isolation Forest 异常检测IsolationForestLearner无需标签即可输出 01 的异常分数并借助条件期望图解释判定依据。两个教程均为完整 Notebook可直接按教程路径运行复现。掌握了 Uplift 与异常检测你的 YDF 决策森林工具箱就覆盖了从预测到预测增量、从正常到找异常的完整进阶场景 ✅【免费下载链接】yggdrasil-decision-forestsA library to train, evaluate, interpret, and productionize decision forest models such as Random Forest and Gradient Boosted Decision Trees.项目地址: https://gitcode.com/gh_mirrors/yg/yggdrasil-decision-forests创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表