sklearn中无监督LOF的AUC计算

时间:2018-12-11 01:28:25

标签: python machine-learning scikit-learn anomaly-detection

在数据集上为LOF模型运行fit_predict后,我试图计算ROCAUC

我正在将sklearn用于LOF实施。我知道我可以通过致电model.negative_outlier_factor_来获得分数,但是我不确定如何将这些分数转换为概率来进行AUC计算

这是为了与其他模型进行比较。我应该怎么做?

1 个答案:

答案 0 :(得分:0)

您不必将model.negative_outlier_factor_转换为ROC_AUC计算的概率,只需相对分数就足够了。

samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]

from sklearn.neighbors import LocalOutlierFactor
lof = LocalOutlierFactor(n_neighbors=3,novelty=True)
lof.fit(samples) 
roc_auc(1/lof.score_samples(X_test),y_test)