在 sklearn 中计算无监督 LOF 的 AUC
Calculating AUC for Unsupervised LOF in sklearn
我正在尝试在 运行 fit_predict 之后为数据集上的 LOF 模型计算 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)
我正在尝试在 运行 fit_predict 之后为数据集上的 LOF 模型计算 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)