metrics.roc_curve()輸出的tpr或fpr的結果為nan
阿新 • • 發佈:2018-11-09
在用metrics.roc_curve()函式計算tpr的時候,出現tpr為nan的情況,主要是因為label裡面沒有正樣本的標籤。
下面是roc_curve()裡面的一段原始碼,其中tps[-1]存放的是所有的正樣本。同理,如果fpr出現nan的情況是因為label裡面沒有負樣本。
if fps[-1] <= 0: warnings.warn("No negative samples in y_true, " "false positive value should be meaningless", UndefinedMetricWarning) fpr = np.repeat(np.nan, fps.shape) else: fpr = fps / fps[-1] if tps[-1] <= 0: warnings.warn("No positive samples in y_true, " "true positive value should be meaningless", UndefinedMetricWarning) tpr = np.repeat(np.nan, tps.shape) else: tpr = tps / tps[-1]