数据框df_joined看起来像这样,有100行:
Timestamp Label Pred2016-10-05 29.75 30.7814302016-10-06 30.35 31.3791462016-10-07 31.59 31.1748242017-02-13 29.63 29.8754972017-02-14 29.60 29.9231612017-02-15 30.22 30.2572842017-02-16 30.12 30.3742572017-02-17 30.09 30.3571962017-02-20 31.03 30.9710702017-02-21 31.05 30.930189
我现在正在尝试打印classification_report
print 'Classification Report:','\n',sklearn.metrics.classification_report(df_joined[label],df_joined['Pred'] )
我收到错误:
file
“\Python\WinPython-32bit-2.7.10.3\python-2.7.10\lib\site-packages\sklearn\utils\multiclass.py”,line 106,in 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),但它会产生相同的错误.
有人知道这是从哪里来的?
解决方法 我相信classification_report量化了您对数据点标签进行分类/预测的程度,而不是其实际值.标签不能是浮点数,sklearn documentation和 sklearn user guide中的所有示例都使用整数作为标签.这些参数也暗示了这一点,因为传递1-d数组的替代方法是仅用于标签的特定数组构造.
sklearn.metrics.classification_report(y_true,y_pred,labels=None,target_names=None,sample_weight=None,digits=2)y_true : 1d array-like,or label indicator array / sparse matrix Ground truth (correct) target values.y_pred : 1d array-like,or label indicator array / sparse matrix Estimated targets as returned by a classifIEr....
如果您的数据是整数标签,那么您传递的确切数据帧格式就可以正常工作:
# Does not raise an error classification_report(df_joined['Label'].astype(int),df_joined['Pred'].astype(int))
您可以在Model evaluation: quantifying the quality of predictions中阅读有关sklearn不同模型评估工具的更多信息,并选择一个适合评估分类器的工具.
总结以上是内存溢出为你收集整理的python-2.7 – sklearn classification_report,输入来自pandas dataframe prduces:“TypeError:并非在字符串格式化过程中转换所有参数”全部内容,希望文章能够帮你解决python-2.7 – sklearn classification_report,输入来自pandas dataframe prduces:“TypeError:并非在字符串格式化过程中转换所有参数”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)