一、由于python 中sklearn包的更新,不能直接将输入后的一维数据直接转换成二维数组 ,因此会出现关于上述所显示的问题,此时只需要将源代码中报错部分进行一些改进即可。
当我们建立了相应的模型后,要对已经建立好的模型进行测试新的数据的时候,会由于数据的维度不一致导致代码在运行的时候回报错。
1.1当只有一个数据组的时候
如下图所示为出错的原代码:
xPredict = [102,5]
运行后发现错误提示为:ValueError: Expected 2D array, got 1D array instead:array=[102,5]
即输入的数据没有转换为numpy包中所接受的数据类型。此时,我们要对已有的数据类型进行对应的转换。
针对此问题,做如下修改:
import numpy as np
xPredict = np.array([102,5]).reshape(1,-1)
首先,要在代码的最上方调用numpy包;然后,对之前的数据 类型进行转换,利用 numpy包中的np.array以及reshape方法进行数据的更新覆盖,使输入的一维数据转换为二维矩阵,符合方法调用时的数据类型即可 。
1.2当有多个数据组的时候
arr1 = [1,2,3,4]
arr2 = [5,6,7,8]
for index in range(0, len(arr1), 2):
arr2.append(arr[index:index + 2])
print(arr2)
如上图所示,将两个一维数组进行合并更新覆盖,最后输出的arr2就是一个二维数组