使用SVR模型调用inverse_transform时报ValueError:期望2D数组却得到1D数组
报错原因
StandardScaler的inverse_transform方法要求输入为二维数组,但SVR.predict()默认返回一维数组,二者维度不匹配触发了本次报错。
解决方案
将predict输出的一维数组转换为符合要求的二维数组即可,仅需修改最后一行代码,调用reshape(-1,1)调整维度:
sc_y.inverse_transform(regressor.predict(sc_X.transform([[6.5]])).reshape(-1, 1))
其中reshape(-1, 1)表示自动匹配样本数量、固定输出为1列的二维结构,和你之前拟合sc_y时传入的y的维度((len(y),1))完全匹配。
内容的提问来源于stack exchange,提问作者Faizul
相关产品推荐
相关产品推荐

