使用随机森林来识别离群值

时间:2020-06-15 21:07:29

标签: python-3.x machine-learning scikit-learn

我的目标是识别数据集中的异常。我有一个经过训练的随机森林模型,该模型将数据记录分类为“ A”或“ B”。任何不属于这些类别的事物都应标记为异常。

为了将数据记录标记为“异常”,我决定使用RandomForestClassifier.predict_proba(test_data)中的sklearn.ensemble函数,该函数返回每个测试记录属于特定类的百分比,如下所示:

test_rec1:[0.23  0.77]
test_rec2:[0.98  0.02]
test_rec3:[0.35  0.65]

如您所见,森林中77%的树木将test_rec1归为“ B”,而98%的树木将test_rec2归为“ A”。但是,从值中可以看出,对于test_rec3的结果并不乐观。

我的问题:我可以引入一个阈值(例如0.7或70%),以便如果RandomForestClassifier.predict_proba(test_data)给出的值小于该阈值(例如在test_rec3的情况下),我可以将其分类为异常? 如果没有, Python3 中是否有更好的方法?

我还阅读了有关Z分数和dbscan的信息,但我觉得在我的情况下,缺点超过了优点。

0 个答案:

没有答案