1.问题: 使用sklearn建立模型之后进行预测时出现:Reshape your data either using (-1, 1) if your data has a single feature or (1, -1) if it contains a single sample.
2.原因:这是由于在新版的sklearn中,所有的数据都应该是二维矩阵。
3.解决办法:如果传入的是一个一维矩阵,直接使用.reshape(1,-1)转化为二维矩阵,如果只是一个样本数据,需要先使用numpy转化为一个一维数组,再使用reshape转化为二维数组。
例如:
修改之前:
new_x = 84610
pre_y = model.predict(new_x)
修改之后:
new_x = 84610
pre_y = model.predict(np.array(new_x).reshape(1, -1))
亲测有效,运行结果:
print("pre_y", pre_y)
# 结果
pre_y [[196065.20852406]]