python-2.7 – sklearn classification_report,输入来自pandas dataframe prduces:“TypeError:并非在字符串格式化过程中转换所有参数”

python-2.7 – sklearn classification_report,输入来自pandas dataframe prduces:“TypeError:并非在字符串格式化过程中转换所有参数”,第1张

概述我正在尝试运行sklearn.metrics.classification_report,我的数据在Pandas数据帧中. 数据框df_joined看起来像这样,有100行: Timestamp Label Pred2016-10-05 29.75 30.7814302016-10-06 30.35 31.3791462016-10-07 31.59 31 我正在尝试运行sklearn.metrics.classification_report,我的数据在Pandas数据帧中.
数据框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:并非在字符串格式化过程中转换所有参数”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存