我想使用sklearn.metrics.classification_report函数来处理Pandas数据框架中的数据。
数据框架df_joined看起来像这样,并且有100行:
Timestamp Label Pred
2016-10-05 29.75 30.781430
2016-10-06 30.35 31.379146
2016-10-07 31.59 31.174824
2017-02-13 29.63 29.875497
2017-02-14 29.60 29.923161
2017-02-15 30.22 30.257284
2017-02-16 30.12 30.374257
2017-02-17 30.09 30.357196
2017-02-20 31.03 30.971070
2017-02-21 31.05 30.930189
我现在正在尝试通过以下方式打印classification_report:
print 'Classification Report:', '\n', sklearn.metrics.classification_report(df_joined[label],df_joined['Pred'] )
我遇到了一个错误:
文件 "\Python\WinPython-32bit-2.7.10.3\python-2.7.10\lib\site-packages\sklearn\utils\multiclass.py", 第106行, 在 unique_labels 方法中 raise ValueError("Unknown label type: %r" % ys)
TypeError: not all arguments converted during string formatting
我尝试使用 sklearn.metrics.classification_report(df_joined[label].values, df_joined['Pred'].values)
,但它产生了相同的错误。
有人知道这个错误的原因吗?
y_true
和y_pred
中的唯一值不匹配(可能是y_true
中有NaN
或一些未知的值)。因此,在遇到不存在的值时,它会抛出错误,因此无法为其分配有效的标签。尝试打印出两个数组中的唯一值以检查是否确实是这种情况。 - Nickil Maveli'Label'
而不是label
,这样更好。虽然我不认为这是问题所在。 - Henry