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

歡迎訪問 生活随笔!

生活随笔

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

python

Python 线性回归

發(fā)布時間:2024/9/27 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 线性回归 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Python 線性回歸

1 聲明

本文的數(shù)據(jù)來自網(wǎng)絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯(lián)系博主及時處理。

2 線性回歸簡介

相關概念見下:

如果想通過一個模型找到目標變量和特征的線性關系就用到線性回歸(在房價的預測的場景中假設拿到地段、面積、學區(qū)、建筑時間等特征后,通過訓練線性回歸模型,進而可對的新數(shù)據(jù)進行預測)。線性回歸假設特征與目標變量存在線性關系,換言之這種影響(系數(shù)或參數(shù),神經(jīng)網(wǎng)絡里又叫權(quán)重)是常量。這里是概率統(tǒng)計里的應用,下面以二元回歸作為里例子,演示其原理。

這里 是目標變量, 是每個特征, 和 是x1和x2的系數(shù)。 是截距, 是誤差。

更普通的方式可以矩陣的形式表達 Y=Xβ+ε,一般使用最小二乘法擬合得系數(shù)的解為

詳細證明見:最小二乘法(多元)推導

相關統(tǒng)計量

詳見:Excel一元線性回歸示例

交互項(Interactive Term):當特征間有相互作用時可以使用交互項,表現(xiàn)形式見下:

正則化:

為了解決過擬合、方差較高的問題,需要對線性回歸模型進行正則化(收縮懲罰即RSS和系數(shù)更小),一般用L1(LaSSO)、L2(嶺回歸)法。

這里的RSS對應前文的SSE即殘差平方和,線性回歸模型的目的就是使得RSS最小。

其中嶺回歸里通過如下方式添加懲罰項(α乘以系數(shù)的平方和,α是超參數(shù)):

LASSO正則化(α乘以系數(shù)絕對值的和,α是超參數(shù),n是樣本數(shù)):

3 線性回歸代碼示例

# 加載相關包:標準化、線性回歸、特征構(gòu)造 # Scenario 1 普通線性回歸 from sklearn.linear_model import LinearRegression,Ridge from sklearn.datasets import load_boston from sklearn.preprocessing import PolynomialFeatures from sklearn.preprocessing import StandardScaler# 加載波士頓房價數(shù)據(jù)并指定特征和目標變量 boston = load_boston() features = boston.data[:,0:2] target = boston.target # 創(chuàng)建并擬合線性回歸模型 regression = LinearRegression()model1 = regression.fit(features, target)# 查看截距 print(model1.intercept_) # 查看系數(shù)β1、β2 print(model1.coef_)# Scenario 2 帶交互項的線性回歸 # 通過PolynomialFeatures創(chuàng)建交互項 interaction = PolynomialFeatures( degree=3, include_bias=False, interaction_only=True) features_interaction = interaction.fit_transform(features)# 創(chuàng)建并擬合線性回歸模型 regression = LinearRegression() model2 = regression.fit(features_interaction, target) # 驗證樣本交互項X1*X2 print(features_interaction[0]) # 查看帶交互項的系數(shù) print(model2.coef_)# Scenario 3 正則化之嶺回歸 # 標準化數(shù)據(jù),即特征都在同一量綱上(無量綱) scaler = StandardScaler() features_standardized = scaler.fit_transform(features)# 創(chuàng)建帶α的嶺回歸并擬合 regression = Ridge(alpha=0.5) model3 = regression.fit(features_standardized, target)# 評價指標R2(僅演示如何使用) from sklearn.metrics import r2_score print('R^2 train: %.3f' % r2_score(target, model1.predict(features)))

4 總結(jié)

總結(jié)

以上是生活随笔為你收集整理的Python 线性回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。