我遇到了这个问题,因为我不能在Sklearn管道中使用隔离森林算法。我正在尝试使用Kaggle信用卡欺诈检测数据集来预测信用卡违约。我正在尝试修复数据分区后的所有内容,以避免数据泄漏。(通过对每个交叉验证使用管道,因为我在K折交叉验证中使用逻辑回归得到几乎100%的F1分数,而不使用管道)大多数机器学习算法都可以使用(逻辑回归、随机森林分类器等),但不能用于某些异常检测算法,如IsolationForest。我想知道如何在流水线中安装这些异常检测算法。谢谢。
Some details for X and Y (Y- 0 as a normal transaction, 1 as fraudulent transaction)
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]发布于 2020-09-14 17:06:00
如果没有进一步的信息,我会猜测您的管道导入来自sklearn.pipelines。只需将其替换为:
from imblearn.pipeline import Pipeline为了获得更多信息,this帮助了我。
https://stackoverflow.com/questions/62658419
复制相似问题