我在尝试对数据集运行LOF模型的fit_predict后计算ROCAUC
。
我使用sklearn
来实现LOF。我知道可以通过调用model.negative_outlier_factor_
来获取分数,但我不确定如何将这些分数转换为概率来进行AUC
计算。
这是为了与另一个模型进行比较。我应该如何操作呢?
回答:
你不需要将model.negative_outlier_factor_转换为概率来计算ROC_AUC,相对分数就足够了。
samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]from sklearn.neighbors import LocalOutlierFactorlof = LocalOutlierFactor(n_neighbors=3,novelty=True)lof.fit(samples) roc_auc(1/lof.score_samples(X_test),y_test)