我正在为数据集上的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 LocalOutlierFactor
lof = LocalOutlierFactor(n_neighbors=3,novelty=True)
lof.fit(samples)
roc_auc(1/lof.score_samples(X_test),y_test)
关于python - sklearn中无监督LOF的AUC计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53716093/