首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流水线中Scikit-learn(隔离森林)中的异常值检测

流水线中Scikit-learn(隔离森林)中的异常值检测
EN

Stack Overflow用户
提问于 2020-06-30 21:19:18
回答 1查看 1.1K关注 0票数 0

我遇到了这个问题,因为我不能在Sklearn管道中使用隔离森林算法。我正在尝试使用Kaggle信用卡欺诈检测数据集来预测信用卡违约。我正在尝试修复数据分区后的所有内容,以避免数据泄漏。(通过对每个交叉验证使用管道,因为我在K折交叉验证中使用逻辑回归得到几乎100%的F1分数,而不使用管道)大多数机器学习算法都可以使用(逻辑回归、随机森林分类器等),但不能用于某些异常检测算法,如IsolationForest。我想知道如何在流水线中安装这些异常检测算法。谢谢。

Some details for X and Y (Y- 0 as a normal transaction, 1 as fraudulent transaction)

代码语言:javascript
复制
pipe =Pipeline([
    ('sc', StandardScaler()),
    ('smote', SMOTE()),
    ('IF', IsolationForest())
])

print(cross_val_score(pipe, X,Y, scoring='f1_weighted' ,cv=5))

# Result: [3.01179163e-06 3.53204982e-06 6.55363495e-06 3.51940600e-06 4.52981524e-06]
EN

回答 1

Stack Overflow用户

发布于 2020-09-14 17:06:00

如果没有进一步的信息,我会猜测您的管道导入来自sklearn.pipelines。只需将其替换为:

代码语言:javascript
复制
from imblearn.pipeline import Pipeline

为了获得更多信息,this帮助了我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62658419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档