【Python】画ROC图时显示数组维度不均衡

在使用Python绘制ROC曲线的过程中,遇到ValueError,原因是特征list元素的shape不统一。为了解决这个问题,将数据集中的所有矩阵放入同一函数中处理,确保所有输入具有相同的维度,从而成功解决了绘图错误。本文记录了问题的出现及解决过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用Python画ROC图时,弹出这样的错误:

ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (4, 42) + inhomogeneous part.

尝试使用以下代码将list转换成array:

import numpy as np
y_tests = np.array(y_tests, dtype=np.float32)

发现还是会弹出一样的错误, 查看了数据的尺寸发现,特征list元素里的shape是不一样的,列表里面有四列,尺寸分别是98x492, 98x738, 98x200, 98x1430,所以在复制的时候程序并不知道该怎样去做,就将其当做是一个sequence对待,自然就无法赋值。

后来将X_train, X_test, Y_train, Y_test 四个矩阵(是有四列的列表)都放到定义的函数中,就OK了。

最后说明一下,文章主要记录我个人在敲代码过程中的一些问题和解决方式,可能会说得不清楚(有些我自己也不太清楚为什么就可以了),有什么问题欢迎各路大神指出,一起讨论学习。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值