网上不少人都写到这种错误,但是这种错误的发生环境不一样,原因也完全不一样,这种分类器使用时发生的这种错误之前我也找了很久都没有找到。解决了之后索性记录一下,也希望能帮大家节省时间。
原因
主要就是因为传入分类器的训练数据要求都是float或者int,而你的训练数据中包含其他类型的数据,比如pandas的object或者是bool甚至是NaN。如果你的数据里面所有元素都是可以进行运算的数字(float或者int),那不会出现这种问题。
解决方案
- 先找出传入数据的数据类型不是int或者float的元素。
- 想办法把那些元素的数据类型改成int或float,NaN就填充,实在不行就直接删,然后填充一个float或int数据进去。总之一定要保证你的数据里面所有元素都是可以进行运算的数字。
实例
省去前面数据创建的过程,之后数据的样子会给出来
出现以下错误
看一下数据啥样子