python實(shí)現(xiàn)線性回歸的示例代碼
1、導(dǎo)入第三方庫
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)算速度快。由于算法很簡單,而且符合非常簡潔的數(shù)學(xué)原理,不管是建模速度,還是預(yù)測速度都
是非??斓摹?br />可解釋性強(qiáng)。由于最終我們可以得到一個(gè)函數(shù)公式,根據(jù)計(jì)算出的公式系數(shù)就可以很明確地知道每
個(gè)變量的影響大小。
對線性關(guān)系擬合效果好。當(dāng)然,相比之下,如果數(shù)據(jù)是非線性關(guān)系,那么就不合適了。
缺點(diǎn)
預(yù)測的精確度較低。由于獲得的模型只是要求最小的損失,而不是對數(shù)據(jù)良好的擬合,所以精確度略低。
不相關(guān)的特征會(huì)影響結(jié)果。對噪聲數(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)容請搜索腳本之家以前的文章或繼續(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)建簡單線性回歸模型
- Python反向傳播實(shí)現(xiàn)線性回歸步驟詳細(xì)講解
- python繪制y關(guān)于x的線性回歸線性方程圖像實(shí)例
相關(guān)文章
[轉(zhuǎn)]ASP實(shí)現(xiàn)關(guān)鍵詞獲取(各搜索引擎,GB2312及UTF-8)
[轉(zhuǎn)]ASP實(shí)現(xiàn)關(guān)鍵詞獲取(各搜索引擎,GB2312及UTF-8)...2007-02-02
ASP中JavaScript處理復(fù)雜表單的生成與驗(yàn)證
ASP中JavaScript處理復(fù)雜表單的生成與驗(yàn)證...2007-03-03
Insert Date and Time into Access
Insert Date and Time into Access...2007-04-04
ASP實(shí)現(xiàn)智能搜索實(shí)現(xiàn)代碼
asp下智能搜索功能的實(shí)現(xiàn),方便大家學(xué)習(xí)2008-06-06
ASP將Excel數(shù)據(jù)導(dǎo)入到SQLServer的實(shí)現(xiàn)代碼
ASP將Excel數(shù)據(jù)導(dǎo)入到SQLServer的代碼,有點(diǎn)亂,大家根據(jù)需要自己查找下。2010-04-04
asp控制xml數(shù)據(jù)庫的經(jīng)典代碼
本文為大家分享了六段經(jīng)典的asp控制xml數(shù)據(jù)庫代碼,感興趣的小伙伴們可以參考一下2015-09-09
ASP自動(dòng)獲取漢字首字母函數(shù)(支持UTF-8/GB2312)
ASP獲取漢字首字母函數(shù)分享,分GB2312編碼和UTF-8編碼兩種,每次傳入一個(gè)漢字或一個(gè)字符。(具體如何獲得字符串中的一個(gè)字符,就大家自己想啦2007-08-08
錯(cuò)誤類型:Provider (0x80004005)未指定的錯(cuò)誤 的一個(gè)處理方法
一般情況下asp可以正常運(yùn)行,但只要連接數(shù)據(jù)庫就提示,Microsoft JET Database Engine 錯(cuò)誤'80004005'2007-04-04

