【发布时间】:2020-10-20 19:32:25
【问题描述】:
我遇到了这个问题,因为我无法在 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]
【问题讨论】:
-
如果需要,请提供代码sn-ps和示例数据,以便其他用户更好地了解您的问题并提出解决方案。
-
已经添加了一些细节。如果还不清楚,请随时询问。
标签: python machine-learning scikit-learn