使用sklearn进行多项式回归
1.数据
1 2 3 | x = np.random.uniform( - 5 , 5 ,size = 100 ) X = x.reshape( - 1 , 1 ) y = x * * 2 + x + 2 + np.random.normal( 0 , 1 , size = 100 ) |
2. 拟合
1 2 3 4 5 6 7 8 | ploy = PolynomialFeatures(degree = 2 ) X2 = ploy.fit_transform(X) reg = LinearRegression() reg.fit(X2,y) y_predict = reg.predict(X2) print (reg.coef_) #系数 print (reg.intercept_) #截距 |
3. 图形绘制
1 2 3 | plt.scatter(x, y) plt.plot(np.sort(x), y_predict[np.argsort(x)], color = 'r' ) plt.show() |
拟合部分还可以通过Pipeline将 多项式生成,归一化处理,线性回归进行整合
1 2 3 4 5 6 7 8 9 10 11 | from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler # 多项式的特征,数据归一化,线性回归 poly_reg = Pipeline([ ( "poly" , PolynomialFeatures(degree = 2 )), ( "std_scaler" , StandardScaler()), ( "lin_reg" , LinearRegression()) ]) poly_reg.fit(X, y) y_predict = poly_reg.predict(X) |
系数: [0. 1.02750451 1.00863466]
截距:1.8723913311785978
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人