多项式回归预测维度不匹配错误:请求修正代码
问题解决:多项式回归预测时的维度错误
错误原因
你执行reg.predict([[hp]])时触发维度错误,是因为hp本身已经是二维数组(由degree.fit_transform(x.reshape(-1,1))生成,形状类似(1, 4),对应4个多项式特征),额外嵌套[[hp]]会把它变成四维数组,超出LinearRegression模型要求的<=2维输入限制。
修正后的代码片段
predict = reg.predict(final2) r2 = r2_score(test_y,predict) print('R2Score :',r2) print('percent :',int(r2*100),'%') print('++++++++++++++++++++++++++++++++++++++++++++++++++++++') a1 = input('Press enter to continue ...') print('++++++++++++++++++++++++++++++++++++++++++++++++++++++') x = 10 x = numpy.asanyarray(x) hp = degree.fit_transform(x.reshape(-1,1)) zf = reg.predict(hp) # 直接传入hp即可,无需额外嵌套 print(zf)
关键说明
degree.fit_transform(x.reshape(-1,1))会将单个数值x转换为符合多项式模型要求的二维输入格式(形状为(样本数, 特征数)),这个格式完全匹配LinearRegression的predict方法的输入要求,不需要再用[[...]]包裹。
内容的提问来源于stack exchange,提问作者arash_jbz
相关产品推荐
相关产品推荐

