欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:線性回歸 回歸算法詳解

柚子快報激活碼778899分享:線性回歸 回歸算法詳解

http://yzkb.51969.com/

回歸算法詳解

回歸分析是一類重要的機器學習方法,主要用于預測連續(xù)變量。本文將詳細講解幾種常見的回歸算法,包括線性回歸、嶺回歸、Lasso 回歸、彈性網(wǎng)絡(luò)回歸、決策樹回歸和支持向量回歸(SVR),并展示它們的特點、應用場景及其在 Python 中的實現(xiàn)。

一 什么是回歸分析?

回歸分析是一種統(tǒng)計方法,用于確定因變量(目標變量)和自變量(預測變量)之間的關(guān)系?;貧w分析的目標是建立一個模型,通過自變量預測因變量。

二 常見回歸算法

1. 線性回歸

線性回歸是最基本的回歸方法,假設(shè)因變量和自變量之間存在線性關(guān)系。線性回歸的目標是找到一條直線,使得所有數(shù)據(jù)點到該直線的距離之和最小。 線性回歸模型的方程為:

?

y

=

β

0

+

β

1

x

1

+

β

2

x

2

+

+

β

n

x

n

+

?

?

\ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n + \epsilon \

?y=β0?+β1?x1?+β2?x2?+…+βn?xn?+?? 其中,

?

β

0

\ \beta_0

?β0? 是截距,

?

β

i

\ \beta_i

?βi? 是自變量

?

x

i

\ x_i

?xi? 的回歸系數(shù),

?

?

\ \epsilon

?? 是誤差項。

損失函數(shù)

最小化均方誤差(Mean Squared Error, MSE):

?MSE

=

1

n

i

=

1

n

(

y

i

?

y

^

i

)

2

?

\ \text{MSE} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 \

?MSE=n1?i=1∑n?(yi??y^?i?)2?

特點

簡單易懂:線性回歸是最簡單的回歸模型,易于解釋和實現(xiàn)。計算速度快:適用于大規(guī)模數(shù)據(jù)集。易于擴展:可以通過添加多項式項、交互項等擴展為更復雜的模型。

應用場景

線性回歸適用于因變量和自變量之間存在線性關(guān)系的場景,例如經(jīng)濟學中的供求關(guān)系、工程中的溫度與壓力關(guān)系等。

2. 嶺回歸

嶺回歸(Ridge Regression)是一種線性回歸的變種,通過在損失函數(shù)中加入

?

L

2

\ L2

?L2 正則化項來防止過擬合。

嶺回歸的損失函數(shù)為:

?Loss

=

1

n

i

=

1

n

(

y

i

?

y

^

i

)

2

+

λ

j

=

1

n

β

j

2

?

\ \text{Loss} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^n \beta_j^2 \

?Loss=n1?i=1∑n?(yi??y^?i?)2+λj=1∑n?βj2?? 其中,

λ

\lambda

λ是正則化參數(shù)。

特點

防止過擬合:通過正則化項控制模型的復雜度,防止過擬合。處理共線性:適用于自變量之間存在較強相關(guān)性的情況。參數(shù)選擇:需要調(diào)優(yōu)正則化參數(shù)

λ

\lambda

λ。

應用場景

嶺回歸適用于高維數(shù)據(jù)集和自變量之間存在共線性的場景,如基因表達數(shù)據(jù)分析、文本數(shù)據(jù)分類等。

3. Lasso 回歸

Lasso 回歸(Least Absolute Shrinkage and Selection Operator Regression)通過加入

L

1

L1

L1 正則化項來防止過擬合,并能夠進行特征選擇。

Lasso 回歸的損失函數(shù)為:

?Loss

=

1

n

i

=

1

n

(

y

i

?

y

^

i

)

2

+

λ

j

=

1

n

β

j

?

\ \text{Loss} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^n |\beta_j| \

?Loss=n1?i=1∑n?(yi??y^?i?)2+λj=1∑n?∣βj?∣?

特點

特征選擇:通過

L

1

L1

L1 正則化,將不重要的特征系數(shù)收縮為零,從而實現(xiàn)特征選擇。防止過擬合:與嶺回歸類似,Lasso 回歸也能夠控制模型的復雜度。參數(shù)選擇:需要調(diào)優(yōu)正則化參數(shù)

λ

\lambda

λ。

應用場景

Lasso 回歸適用于高維數(shù)據(jù)和特征選擇的場景,如基因數(shù)據(jù)分析、文本分類、圖像處理等。

4. 彈性網(wǎng)絡(luò)回歸

彈性網(wǎng)絡(luò)回歸(Elastic Net Regression)結(jié)合了嶺回歸和 Lasso 回歸的正則化項,能夠同時進行特征選擇和防止過擬合。

彈性網(wǎng)絡(luò)回歸的損失函數(shù)為:

?Loss

=

1

n

i

=

1

n

(

y

i

?

y

^

i

)

2

+

λ

1

j

=

1

n

β

j

+

λ

2

j

=

1

n

β

j

2

?

\ \text{Loss} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 + \lambda_1 \sum_{j=1}^n |\beta_j| + \lambda_2 \sum_{j=1}^n \beta_j^2 \

?Loss=n1?i=1∑n?(yi??y^?i?)2+λ1?j=1∑n?∣βj?∣+λ2?j=1∑n?βj2??

特點

特征選擇與防止過擬合:結(jié)合了 Lasso 和嶺回歸的優(yōu)點,能夠進行特征選擇并防止過擬合。適用于高維數(shù)據(jù):在高維數(shù)據(jù)集上表現(xiàn)良好。參數(shù)選擇:需要調(diào)優(yōu)兩個正則化參數(shù)

λ

1

\lambda_1

λ1? 和

λ

2

\lambda_2

λ2?。

應用場景

彈性網(wǎng)絡(luò)回歸適用于高維數(shù)據(jù)和特征選擇的場景,尤其是當自變量之間存在高度相關(guān)性時。

5. 決策樹回歸

決策樹回歸通過構(gòu)建決策樹來進行回歸,能夠捕捉非線性關(guān)系。

算法步驟

將數(shù)據(jù)集劃分為若干子集。對每個子集,選擇一個特征及其取值進行劃分,使得劃分后的均方誤差最小。遞歸地對每個子集進行上述劃分,直到滿足停止條件。

特點

捕捉非線性關(guān)系:決策樹能夠處理非線性和交互效應。易于解釋:決策樹的結(jié)構(gòu)直觀易懂,便于解釋。易受過擬合影響:需要剪枝等技術(shù)來防止過擬合。

應用場景

決策樹回歸適用于數(shù)據(jù)集特征和目標變量之間存在非線性關(guān)系的場景,如市場預測、醫(yī)學診斷等。

6. 支持向量回歸(SVR)

支持向量回歸(Support Vector Regression, SVR)是支持向量機的擴展,用于回歸分析。SVR 尋找一個函數(shù),使得大多數(shù)數(shù)據(jù)點都在一個容忍范圍內(nèi)。

SVR 的優(yōu)化目標為:

?

min

?

w

,

b

,

ξ

,

ξ

?

1

2

w

2

+

C

i

=

1

n

(

ξ

i

+

ξ

i

?

)

?

\ \min_{w,b,\xi,\xi^*} \frac{1}{2} \|w\|^2 + C \sum_{i=1}^n (\xi_i + \xi_i^*) \

?w,b,ξ,ξ?min?21?∥w∥2+Ci=1∑n?(ξi?+ξi??)? 約束條件為:

?

y

i

?

(

w

?

x

i

+

b

)

?

+

ξ

i

?

,

?

(

w

?

x

i

+

b

)

?

y

i

?

+

ξ

i

?

?

;

?

ξ

i

,

ξ

i

?

0

\ y_i - (w \cdot x_i + b) \leq \epsilon + \xi_i \ , \ (w \cdot x_i + b) - y_i \leq \epsilon + \xi_i^* \ ; \ \xi_i, \xi_i^* \geq 0

?yi??(w?xi?+b)≤?+ξi??,?(w?xi?+b)?yi?≤?+ξi???;?ξi?,ξi??≥0 其中,

?

?

\ \epsilon

?? 是容忍范圍,

?

ξ

i

\ \xi_i

?ξi?和

?

ξ

i

?

\ \xi_i^*

?ξi??是松弛變量,

C

C

C 是懲罰參數(shù)。

特點

處理非線性關(guān)系:通過核方法,SVR 能夠處理復雜的非線性關(guān)系。魯棒性強:對噪聲和異常值具有較強的魯棒性。參數(shù)選擇復雜:需要調(diào)優(yōu)核函數(shù)和懲罰參數(shù)

C

C

C。

應用場景

SVR 適用于處理復雜非線性數(shù)據(jù)的場景,如股票價格預測、能源消耗預測等。

三 回歸算法的 Python 實現(xiàn)

下面通過 Python 代碼實現(xiàn)上述回歸算法,并以一個示例數(shù)據(jù)集展示其應用。

導入庫

import numpy as np

import matplotlib.pyplot as plt

from sklearn.datasets import make_regression

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression, Ridge, Lasso, ElasticNet

from sklearn.tree import DecisionTreeRegressor

from sklearn.svm import SVR

from sklearn.metrics import mean_squared_error

plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標簽

plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負號

生成示例數(shù)據(jù)集

# 生成示例數(shù)據(jù)集

X, y = make_regression(n_samples=100, n_features=1, noise=10, random_state=42)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

plt.scatter(X, y, color='blue')

plt.title('Sample Data')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

線性回歸

# 線性回歸

linear_reg = LinearRegression()

linear_reg.fit(X_train, y_train)

y_pred = linear_reg.predict(X_test)

print('Linear Regression MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.plot(X_test, y_pred, color='red')

plt.title('Linear Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

嶺回歸

# 嶺回歸

ridge_reg = Ridge(alpha=1.0)

ridge_reg.fit(X_train, y_train)

y_pred = ridge_reg.predict(X_test)

print('Ridge Regression MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.plot(X_test, y_pred, color='red')

plt.title('Ridge Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

Lasso 回歸

# Lasso 回歸

lasso_reg = Lasso(alpha=0.1)

lasso_reg.fit(X_train, y_train)

y_pred = lasso_reg.predict(X_test)

print('Lasso Regression MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.plot(X_test, y_pred, color='red')

plt.title('Lasso Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

彈性網(wǎng)絡(luò)回歸

# 彈性網(wǎng)絡(luò)回歸

elastic_net_reg = ElasticNet(alpha=0.1, l1_ratio=0.5)

elastic_net_reg.fit(X_train, y_train)

y_pred = elastic_net_reg.predict(X_test)

print('Elastic Net Regression MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.plot(X_test, y_pred, color='red')

plt.title('Elastic Net Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

決策樹回歸

# 決策樹回歸

tree_reg = DecisionTreeRegressor()

tree_reg.fit(X_train, y_train)

y_pred = tree_reg.predict(X_test)

print('Decision Tree Regression MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.scatter(X_test, y_pred, color='red')

plt.title('Decision Tree Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

支持向量回歸(SVR)

# 支持向量回歸

svr_reg = SVR(kernel='rbf', C=100, epsilon=0.1)

svr_reg.fit(X_train, y_train)

y_pred = svr_reg.predict(X_test)

print('SVR MSE:', mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color='blue')

plt.scatter(X_test, y_pred, color='red')

plt.title('Support Vector Regression')

plt.xlabel('Feature')

plt.ylabel('Target')

plt.show()

總結(jié)

回歸分析是機器學習中的一類重要方法,用于預測連續(xù)變量。本文介紹了幾種常見的回歸算法,包括線性回歸、嶺回歸、Lasso 回歸、彈性網(wǎng)絡(luò)回歸、決策樹回歸和支持向量回歸,并展示了它們的數(shù)學公式、特點、應用場景及其在 Python 中的實現(xiàn)。不同的回歸算法適用于不同的應用場景,通過合理選擇算法,可以在實際應用中取得良好的預測效果。希望本文能幫助你更好地理解和應用回歸算法。

我的其他同系列博客

支持向量機(SVM算法詳解) knn算法詳解 GBDT算法詳解 XGBOOST算法詳解 CATBOOST算法詳解 隨機森林算法詳解 lightGBM算法詳解 對比分析:GBDT、XGBoost、CatBoost和LightGBM 機器學習參數(shù)尋優(yōu):方法、實例與分析

柚子快報激活碼778899分享:線性回歸 回歸算法詳解

http://yzkb.51969.com/

相關(guān)文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19461744.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄