python實(shí)現(xiàn)線性回歸的示例代碼
1、導(dǎo)入第三方庫(kù)
import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split import numpy as np
2、生成數(shù)據(jù)集
def generateData(): X = [] y = [] for i in range(0, 100): tem_x = [] tem_x.append(i) X.append(tem_x) tem_y = [] tem_y.append(i + 2.128 + np.random.uniform(-15,15)) y.append(tem_y) plt.scatter(X, y, alpha=0.6) return X,y
3、計(jì)算殘差平方
def residual_sum_of_squares(y_true, y_pred): # 計(jì)算殘差 residuals = y_true - y_pred # 計(jì)算殘差平方 squared_residuals = residuals ** 2 # 計(jì)算殘差平方和 rss = np.sum(squared_residuals) return rss
4、訓(xùn)練模型
if __name__ == '__main__': np.random.seed(0) X,y = generateData() print(len(X)) X_train,X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) regressor = LinearRegression() regressor.fit(X_train, y_train) y_result = regressor.predict(X_test) plt.plot(X_test, y_result, color='red',alpha=0.6, linewidth=3, label='Predicted Line') plt.show() # 提取模型的斜率和截距 slope = regressor.coef_[0] intercept = regressor.intercept_ # 輸出擬合函數(shù) print(f"擬合函數(shù): y = {slope}x + {intercept}") # 計(jì)算殘差平方和 rss = residual_sum_of_squares(y_test, y_result) print("Residual Sum of Squares:", rss)
5、數(shù)據(jù)驗(yàn)證
6、模型優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
運(yùn)算速度快。由于算法很簡(jiǎn)單,而且符合非常簡(jiǎn)潔的數(shù)學(xué)原理,不管是建模速度,還是預(yù)測(cè)速度都
是非??斓?。
可解釋性強(qiáng)。由于最終我們可以得到一個(gè)函數(shù)公式,根據(jù)計(jì)算出的公式系數(shù)就可以很明確地知道每
個(gè)變量的影響大小。
對(duì)線性關(guān)系擬合效果好。當(dāng)然,相比之下,如果數(shù)據(jù)是非線性關(guān)系,那么就不合適了。
缺點(diǎn)
預(yù)測(cè)的精確度較低。由于獲得的模型只是要求最小的損失,而不是對(duì)數(shù)據(jù)良好的擬合,所以精確度略低。
不相關(guān)的特征會(huì)影響結(jié)果。對(duì)噪聲數(shù)據(jù)也比較難處理,所以在數(shù)據(jù)處理階段需要剔除不相關(guān)的特征以及噪聲數(shù)據(jù)。
容易出現(xiàn)過擬合。尤其在數(shù)據(jù)量較少的情況下,可能出現(xiàn)這種問題。
到此這篇關(guān)于python實(shí)現(xiàn)線性回歸的示例代碼的文章就介紹到這了,更多相關(guān)python 線性回歸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python實(shí)現(xiàn)線性回歸算法
- python深度總結(jié)線性回歸
- python機(jī)器學(xué)習(xí)基礎(chǔ)線性回歸與嶺回歸算法詳解
- Python線性回歸圖文實(shí)例詳解
- python實(shí)現(xiàn)線性回歸的示例代碼
- python數(shù)據(jù)分析之線性回歸選擇基金
- python基于numpy的線性回歸
- Python實(shí)現(xiàn)多元線性回歸的梯度下降法
- Python構(gòu)建簡(jiǎn)單線性回歸模型
- Python反向傳播實(shí)現(xiàn)線性回歸步驟詳細(xì)講解
- python繪制y關(guān)于x的線性回歸線性方程圖像實(shí)例
相關(guān)文章
用ASP生成UTF-8網(wǎng)頁(yè)文件的兩種方法
用ASP生成UTF-8網(wǎng)頁(yè)文件的兩種方法...2007-07-07利用 cache 做對(duì)比靜態(tài)頁(yè)的網(wǎng)頁(yè)技術(shù)
利用 cache 做對(duì)比靜態(tài)頁(yè)的網(wǎng)頁(yè)技術(shù)...2007-10-10P3P 和 跨域 (cross-domain) cookie 訪問(讀取和設(shè)置)
在IE 里面跨域去設(shè)置 cookie跨域的實(shí)現(xiàn),嘗試了n中方法都不行,查了一下資料,可以通過設(shè)置header中的p3p值來實(shí)現(xiàn),真不錯(cuò):)2009-06-06比較不錯(cuò)的asp模板引終極講解(WEB開發(fā)之ASP模式)
比較不錯(cuò)的asp模板引終極講解(WEB開發(fā)之ASP模式)...2007-08-08asp 正則實(shí)現(xiàn)清除html文本格式的函數(shù)代碼
正則匹配(正則表達(dá)式)模式進(jìn)行數(shù)據(jù)匹配替換2010-03-03ASP.Net?MVC利用NPOI導(dǎo)入導(dǎo)出Excel的示例代碼
這篇文章主要介紹了ASP.Net?MVC利用NPOI導(dǎo)入導(dǎo)出Excel的問題記錄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05asp下實(shí)現(xiàn)記錄集內(nèi)隨機(jī)取記錄的代碼
asp下實(shí)現(xiàn)記錄集內(nèi)隨機(jī)取記錄的代碼...2007-11-11ASP中實(shí)現(xiàn)的URLEncode、URLDecode自定義函數(shù)
這篇文章主要介紹了ASP中實(shí)現(xiàn)的URLEncode、URLDecode自定義函數(shù),和ASP自帶的server.urlencode是不一樣的哦,需要的朋友可以參考下2014-07-07