数据本身是浮点型,如何解决报错IndexError: arrays used as indices must be of integer (or boolean) type

如图,X是特征,范围都在0到1,y是标签,原本是字符型,这里取值完也变成了浮点型

接下来运行的代码是关于一个算法的,结果报错IndexError: arrays used as indices must be of integer (or boolean) type

需要把浮点型转换成整型,可是X转换以后就变成0和1了,没啥意义,y转换成整型对数据有影响吗?这种情况能转换吗?应该怎么改呢?

 你是想判读数据是N还是P

算法没看懂 不过有一点是确定的 就是需要整数的地方你使用了非整数,这就是错误的意思

在某些使用场景时,不要用 sum() ,例如当以扩展精度对浮点数求和时,推荐使用 math.fsum() ;当要拼接一系列的可迭代对象时,应考虑使用 itertools.chain() 。

你把random_state参数取消试试看呢,y如果是标签的话洗牌是有意义的。但是看你的y是浮点,应该应用回归类的算法而不是分类算法,所以洗牌这里是不是出错了。另外你可以先分析下y的分布,然后用不同的数值区间对数据进行重新标注为0,1,2,3等几类,这样就是整形了。

 你说得很对,转换了没意义
 不转换肯定是错的...
 可能算法不是你这么直接用的...
 你先把算法理解透彻吧