发布于2023-10-28 07:07 阅读(1217) 评论(0) 点赞(12) 收藏(1)
我正在尝试使用 sklearn 中实现的指标来计算从随机森林回归中获得的预测的平均泊松偏差。但是,我收到了这个错误:
ValueError: Mean Tweedie deviance error with power=2 can only be used on strictly positive y and y_pred.
在阅读了该函数的sklearn 文档后,我知道它需要:
于是我检查了我的数据是否满足要求,看起来确实如此:
np.any(y_pred<0)
>>> False
np.any(y_pred==0)
>>> False
np.any(y_test<0)
>>> False
以下是我的数据概述,以防有帮助:
y_pred[0:100]
>>> array([3.5937205 , 3.7193375 , 4.09343503, 4.3736175 , 2.95546795,
4.04508544, 4.37377352, 3.59788064, 3.626048 , 4.38476427,
3.66636431, 4.23287305, 4.33319475, 4.3501116 , 3.61961913,
3.59461904, 3.60071618, 3.96581378, 4.19052013, 4.35723725,
4.22033789, 4.07398282, 3.4375113 , 2.9226799 , 4.09534177,
3.59309893, 3.96228398, 3.62929845, 4.16205635, 4.22933483,
3.14524591, 3.30359978, 4.74198205, 3.32823315, 3.32921776,
3.60518305, 4.75992 , 3.80171509, 3.30871596, 4.24122775,
4.16740865, 4.05255728, 4.33714336, 3.58182892, 3.62881694,
3.26689612, 3.30889384, 4.15076878, 3.63137294, 3.52888806,
3.52889078, 3.61343248, 4.03201396, 3.63873444, 4.70430122,
4.13515025, 3.53062101, 3.62593269, 4.36520532, 4.45868711,
3.16152143, 3.61939638, 3.626048 , 3.61343248, 4.38715328,
3.139312 , 3.99510801, 3.66807372, 3.08710737, 3.13308799,
3.31435806, 4.14397136, 3.59442154, 4.86767821, 4.1714686 ,
4.16953191, 4.16626847, 3.52720347, 4.99668654, 3.26219536,
3.10700253, 4.60788712, 3.97407225, 4.17907077, 3.5771338 ,
5.85575543, 4.35914091, 4.11046269, 3.33230884, 3.61872964,
3.95371359, 3.2868769 , 3.44595121, 4.13779498, 4.50941441,
3.66820605, 3.28609709, 4.3873206 , 3.60516187, 3.29150883])
y_test[0:100]
>>> array([ 1., 8., 5., 5., 0., 4., 5., 5., 1., 12., 4., 1., 4.,
6., 6., 7., 8., 3., 4., 1., 7., 5., 3., 3., 10., 10.,
4., 6., 0., 0., 1., 2., 2., 4., 2., 3., 5., 0., 3.,
3., 3., 9., 0., 7., 0., 2., 1., 8., 0., 4., 2., 4.,
4., 2., 1., 0., 2., 8., 7., 0., 3., 3., 4., 3., 3.,
6., 3., 11., 6., 10., 2., 2., 10., 3., 4., 5., 8., 4.,
9., 0., 2., 2., 6., 4., 0., 1., 5., 4., 2., 1., 7.,
4., 0., 4., 4., 0., 1., 4., 0., 3.])
是什么导致了这个错误?
您所拥有的结果error
是由于 Mean Tweedie 偏差指标,power=2,
我参考了当时的sklearn.metrics.mean_tweedie_deviance
文档
power = 2 : Gamma distribution. Requires: y_true > 0 and y_pred > 0.
它要求: y_true > 0 和 y_pred > 0。我使用了您的值 和y_pred
,y_test
它让我得到了违反此要求的same error
asy_test
包含值。zero
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/2036678/dbfa14293c125b1b3acd/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!