Python报错:ValueError: Classification metrics can‘t handle a mix of binary and continuous targets

这篇具有很好参考价值的文章主要介绍了Python报错:ValueError: Classification metrics can‘t handle a mix of binary and continuous targets。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python报错:

ValueError: Classification metrics can‘t handle a mix of binary and continuous targets

原因分析:
sklearn函数输入参数的数据类型不匹配导致,有可能是输入的y_true为[0,0,1,1,1]的int型数据,而y_predict是类似于[0.5,0.3,0.6,0.5,0.2]概率数据。可能使用了model.predict_proba()函数进行了预测。
方法:需把概率数据转换为整型数据即可。
方法一:
在预测时使用:

y_predict = model.predict_classes(x_test)  # 输出 [0,1,1,1]格式的数据
y_scores = model.predict_proba(x_test)# 输出[负的概率,正的概率] 格式的数据,根据预测任务的不同而不同

model是训练的模型。
这种方法就是将预测值与预测概率分开。
注意! 这种方法对有些编码方式可能不适用。

方法二:
使用model.predict_proba()预测之后将结果转化为int类型的数据

y_scores = model.predict_proba(x_test)# 输出[负的概率,正的概率] 格式的数据 
y_pred = y_socres[:,1] # 取第二列正的概率,根据每个人的数据不同而不同!
y_pred = np.around(y_pred,0).astype(int) # .around()是四舍五入的函数 第二个参数0表示保留0位小数,也就只保留整数!! .astype(int) 将浮点数转化为int型

方法三:
如果是在二分类任务中使用了one-hot编码,那么当 0 位置的概率小于 1 位置的概率时该值为 1 ,否则为0。如预测出来[0.6,0,8] 那么值为1,如预测出来[0.2,0,3] 值还是1,可如果以0.5为界限判断0、1显然是不合理的。因此使用以下代码更加合理:

yy_pred = model.predict(x_test, batch_size=b) # 预测出[[0.4,0.45],[0.8,0.3],[0.6,0.71]]
y_pred = np.argmax(yy_pred, axis=1) # 选择max值进行输出0,1

总结:
使用上面三种方法预测的结果,就可以直接中sklearn的包进行求精确度等各种数据了。文章来源地址https://www.toymoban.com/news/detail-516505.html

到了这里,关于Python报错:ValueError: Classification metrics can‘t handle a mix of binary and continuous targets的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV实现图像:用Python生成图像特效,报错ValueError: too many values to unpack (expected 3)】

    Python是一种功能强大的编程语言,也是图像处理领域中常用的工具之一。通过使用Python的图像处理库(例如Pillow、OpenCV等),开发者可以实现各种各样的图像特效。这些特效包括但不限于:滤镜效果(如黑白、模糊、锐化等)、颜色转换、边缘检测、形状识别、图像合成和增

    2024年02月06日
    浏览(30)
  • python selenium报错ValueError: Timeout value connect was <...>, but it must be an int, float or None.

    因更换系统,重新安装了selenium。命令:pip install selenium 默认版本为selenium4,版本不太兼容,所以卸载:pip uninstall selenium 更换为旧版本:pip install selenium==3.141.0 安装完以后显示: Successfully installed selenium-3.141.0 urllib3-2.0.2(坑出现了) 运行一下代码以后报错: 报错: ValueErr

    2024年02月12日
    浏览(31)
  • 解决:python+appium报错ValueError: Timeout value connect was <...>, but it must be an int, float or None.

    pip install --force-reinstall -v \\\"selenium==4.8.0\\\" 参考: python - Running an keyword on Robotframework throw an error: ValueError: Timeout value connect was object object at 0x106cc5b50 - Stack Overflow ValueError: Timeout value connect was object object at 0x7f7515f84420, but it must be an int, float or None. · Issue #863 · appium/python-client

    2024年02月11日
    浏览(65)
  • python报错ValueError: zero-size array to reduction operation maximum which has no identity,情况之一分析与解决

    在boston房价数据预测练习项目中,发现报错如下: ValueError: zero-size array to reduction operation maximum which has no identity 此报错所对应行为 于是网上查找对应错误解决方法,有的博主的numpy数组处array.max(axis=0)、array.min(axis=0),的确有数组为0的情况,采纳其建议加入assert array.size !=

    2024年02月08日
    浏览(25)
  • 打开目录报错:Stale file handle

    报错原因 : 查看目录详情,显示d????????? 可能是NFS在挂载时,后面不用了,没有解挂载掉,所以这个目录没用了。 解决: 如果此目录不在用了, 直接解挂载这个目录即可。 如果还有数据需要使用,就重新挂载下。  

    2024年02月20日
    浏览(25)
  • Laravel 使用mix引入本地样式文件 报错 Unable to locate Mix处理

    ✔ Compiled Successfully in 4524ms ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┬

    2024年02月13日
    浏览(30)
  • bert模型训练,加载保存的模型Can‘t load tokenizer for ‘/content/drive/MyDrive/Colab Notebooks/classification_mode

    哈喽! 我用Bert预测评论分数,训练好模型保存到文件夹后,再一次加载它出现了上述错误,不太明白为什么,请教各位! 这是第二次训练这模型,也就是说我训练了一次之后,再把第一次训练的模型用新的数据训练,提高它的精确度,是可以的把,为什么第一次训练没有报

    2024年02月11日
    浏览(28)
  • Python Selenium报错:ValueError: Timeout value connect was <object object at 0x000001CCD4EC4540>, but i

    之前学习Python过程中做过接口测试,有安装urllib3,版本是2.0.7 之后又安装了Selenium3.141.0版本,结果巨坑来袭,写了简单代码验证安装效果,结果报错 代码如下: 报错:ValueError: Timeout value connect was object object at 0x000001CCD4EC4540, but it must be an int, float or None. 原因分析:Selenium版本

    2024年03月09日
    浏览(32)
  • Vue报错:error Mixed spaces and tabs no-mixed-spaces-and-tabs

    在开发过程中使用了ESLint,用来规范代码风格。ESLint是语法检查工具,缺点是对所写代码要求过于严格。这里是因为空格的使用导致的。 我第一次出现这个问题是在App.vue文件的 script/script 中加了注释前加了个空格从而出现了报错 方法一:针对我上面的报错 方法二:修改 v

    2024年02月05日
    浏览(41)
  • 【Python终端报错】“python.exe: can‘t open file”【及解决方法】

    一、问题描述 如下图,在PyCharm中使用自带的Python终端运行源代码文件时,提示出错: D:Program FilesPython3.10.0python.exe: can’t open file ‘D:DesktopPython Security Chapter 4Whois’: [Errno 2] No such file or directory 翻译:python.exe找不到文件\\\"Whois\\\" 使用的命令为: 报错截图如下: 二、解决方法

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包