2016-10-02 80 views
1
from sklearn.metrics import precision_score 

precision_score(expected, predicted) 

預期的位置是array([ 4., 3.])ValueError異常的計算採用精密scikit學習

和預測是array([ 2., 4.])

我得到的FOLL。錯誤:*** ValueError: pos_label=1 is not a valid label: array([ 2., 3., 4.])

這怎麼解決?

回答

1

您需要average參數多類標籤。

否則就需要設置pos_label如在兩個陣列類別標籤之一即2,3或4:

>>> # score for all classes 
>>> precision_score(expected, predicted, average=None) 
array([ 0., 0., 0.]) 

>>> # score for each class 
>>> precision_score(expected, predicted, pos_label=2) 
0.0 
>>> precision_score(expected, predicted, pos_label=3) 
0.0 
>>> precision_score(expected, predicted, pos_label=4) 
0.0 

參考: sklearn.metrics.precision_score