新聞中心
test_size=0.3)# 創(chuàng)建線性回歸對象lin_reg = LinearRegression()# 訓(xùn)練模型并進(jìn)行交叉驗(yàn)證scores = cross_val_score(lin_reg,
- 本文目錄導(dǎo)讀:
- 1、線性回歸大家族
- 2、模型評估指標(biāo)
- 3、案例研究

在機(jī)器學(xué)習(xí)中,回歸是一種常用的預(yù)測方法。在進(jìn)行回歸分析時(shí),需要選擇合適的模型,并對其進(jìn)行評估以確定其性能和可靠性。本文將介紹sklearn中常見的回歸算法實(shí)例以及如何使用不同的評估指標(biāo)來比較它們。
線性回歸大家族
線性回歸是最基礎(chǔ)也是最簡單的一種回歸方法。它通過擬合數(shù)據(jù)點(diǎn)與目標(biāo)值之間線性關(guān)系來預(yù)測未知樣本。在sklearn中有多個(gè)線性回歸算法可以選擇,包括普通最小二乘、嶺回歸、Lasso等。
除了線性模型外,還有其他類型的非線性模型可以用于解決更復(fù)雜的問題。例如K近鄰(KNN)和支持向量機(jī)(SVM)等。
模型評估指標(biāo)
為了比較不同類型和參數(shù)設(shè)置下的模型表現(xiàn),我們需要使用一些評估指標(biāo)來衡量它們各自所取得成果。
1.均方誤差(MSE)
均方誤差是最基本也是最常用于衡量預(yù)測結(jié)果準(zhǔn)確度的指標(biāo)之一。它計(jì)算預(yù)測值與真實(shí)值之間差的平方和的均值。
2.平均絕對誤差(MAE)
平均絕對誤差是另一個(gè)常用于衡量預(yù)測結(jié)果準(zhǔn)確度的指標(biāo)。它計(jì)算預(yù)測值與真實(shí)值之間差的絕對值和的均值。
3.R2得分
R2得分也被稱為決定系數(shù),是回歸模型性能評估中最流行的指標(biāo)之一。它表示模型可以解釋目標(biāo)變量方差百分比。
案例研究
在本文中,我們將使用sklearn自帶數(shù)據(jù)集來演示不同回歸類模型及其相應(yīng)指標(biāo)表現(xiàn)。
首先,我們使用普通最小二乘法線性回歸來訓(xùn)練并測試房價(jià)預(yù)測問題:
```python
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import mean_squared_error, mean_absolute_error,r2_score
# 加載波士頓房價(jià)數(shù)據(jù)集
boston = load_boston()
# 劃分訓(xùn)練集和測試集
X_train,X_test,y_train,y_test = train_test_split(boston.data,boston.target,test_size=0.3)
# 創(chuàng)建線性回歸對象
lin_reg = LinearRegression()
# 訓(xùn)練模型并進(jìn)行交叉驗(yàn)證
scores = cross_val_score(lin_reg, X_train, y_train,
scoring="neg_mean_squared_error", cv=10)
rmse_scores = np.sqrt(-scores)
# 計(jì)算指標(biāo)
print("MSE:",mean_squared_error(y_test,y_pred))
print("MAE:",mean_absolute_error(y_test,y_pred))
print("R2 Score:",r2_score(y_test,y_pred))
```
接下來,我們使用嶺回歸:
from sklearn.linear_model import Ridge
# 創(chuàng)建嶺回歸對象
ridge_reg = Ridge(alpha=1,solver="cholesky")
scores = cross_val_score(ridge_reg,X_train,y_train,
scoring="neg_mean_squared_error",cv=10)
最后,我們使用支持向量機(jī):
from sklearn.svm import SVR
# 創(chuàng)建SVM對象
svm_reg = SVR(kernel="linear")
scores = cross_val_score(svm_reg,X_train_scaled[:,1:],y_train,
#計(jì)算指標(biāo)
y_svm_predict=scaler_y.inverse_transform(svm_reg.predict(X_valid_scaled)) #將預(yù)測值還原為真實(shí)值
print('MSE:', mean_squared_error(Y_valid, y_svm_predict))
print('MAE:', mean_absolute_error(Y_valid, y_svm_predict))
print('R2 Score:', r2_score(Y_valid, y_svm_predict))
在本文中,我們探究了sklearn中的回歸類算法實(shí)例以及如何使用不同的評估指標(biāo)來比較它們。我們發(fā)現(xiàn),在相同數(shù)據(jù)集和參數(shù)設(shè)置下,不同類型模型之間存在差異,需要根據(jù)具體問題選擇適合的模型并進(jìn)行調(diào)整。同時(shí),通過對各種指標(biāo)進(jìn)行綜合分析可以更加全面地評估預(yù)測結(jié)果。
因此,在實(shí)際應(yīng)用中,我們應(yīng)該注重對于回歸類算法模型性能表現(xiàn)的深入研究,并靈活運(yùn)用各項(xiàng)評估指標(biāo)來提高預(yù)測效果。
分享標(biāo)題:機(jī)器學(xué)習(xí)sklearn:探究回歸類的模型評估指標(biāo)
文章源于:http://www.dlmjj.cn/article/cdiidjs.html


咨詢
建站咨詢
