日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python-ML】SKlearn库多项式回归

發布時間:2025/4/16 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python-ML】SKlearn库多项式回归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*- ''' Created on 2018年1月24日 @author: Jason.F @summary: 有監督回歸學習-多項式回歸,通過多項式特征擬合非線性關系 ''' import pandas as pd import numpy as np import time import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures from sklearn.metrics.regression import mean_squared_error, r2_scoreif __name__ == "__main__": start = time.clock() df=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data',header=None,sep='\s+')df.columns=['CRIM','ZM','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV'] X = df[['LSTAT']].valuesy = df['MEDV'].valuesregr = LinearRegression()#創建多項式特征quadratic = PolynomialFeatures(degree=2)#二項式cubic = PolynomialFeatures(degree=3)X_quad = quadratic.fit_transform(X)X_cubic = cubic.fit_transform(X)#線性擬合X_fit = np.arange(X.min(),X.max(),1)[:,np.newaxis]regr = regr.fit(X,y)linear_r2 = r2_score(y,regr.predict(X))y_lin_fit = regr.predict(X_fit)#二項式擬合regr = regr.fit(X_quad,y)quadratic_r2 = r2_score(y,regr.predict(X_quad))y_quad_fit =regr.predict(quadratic.fit_transform(X_fit))#三項式regr = regr.fit(X_cubic,y)cubic_r2=r2_score(y,regr.predict(X_cubic))y_cubic_fit = regr.predict(cubic.fit_transform(X_fit))#可視化效果plt.scatter(X,y,label='training points',color='lightgray')plt.plot(X_fit,y_lin_fit,label='linear(d=1),$R^2=%.2f$'%linear_r2,color='blue',lw=2,linestyle=':')plt.plot(X_fit,y_quad_fit,label='quadratic(d=2),$R^2=%.2f$'%quadratic_r2,color='red',lw=2,linestyle='-')plt.plot(X_fit,y_cubic_fit,label='cubic(d=3),$R^2=%.2f$'%cubic_r2,color='green',lw=2,linestyle='--')plt.xlabel('% lower status of the population [LSTAT]')plt.ylabel('Price in $1000\'s [LSTAT]')plt.legend(loc='upper right')plt.show()'''X = np.array([258.0,270.0,294.0,320.0,342.0,368.0,396.0,446.0,480.0,586.0])[:,np.newaxis]y = np.array([236.4,234.4,252.8,298.6,314.2,342.2,360.8,368.0,391.2,390.8])lr = LinearRegression()pr = LinearRegression()quadratic = PolynomialFeatures(degree=2)#二項式X_quad = quadratic.fit_transform(X)#一項線性回歸lr.fit(X,y)X_fit = np.arange(250,600,10)[:,np.newaxis]y_lin_fit =lr.predict(X_fit)#多項項目回歸pr.fit(X_quad,y)y_quad_fit = pr.predict(quadratic.fit_transform(X_fit))#可視化效果plt.scatter(X,y,label='training points')plt.plot(X_fit,y_lin_fit,label='linear fit',linestyle='--')plt.plot(X_fit,y_quad_fit,label='quadratic fit')plt.legend(loc='upper left')plt.show()#評估y_lin_pred = lr.predict(X)y_quad_pred = pr.predict(X_quad)print ('Training MSE linear:%.3f,quadratic:%.3f'%(mean_squared_error(y,y_lin_pred),mean_squared_error(y,y_quad_pred)))print ('Training R^2 linear:%.3f,quadratic:%.3f'%(r2_score(y,y_lin_pred),r2_score(y,y_quad_pred)))'''end = time.clock() print('finish all in %s' % str(end - start))

結果:


《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Python-ML】SKlearn库多项式回归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。