書名: 深入淺出Python機(jī)器學(xué)習(xí)作者名: 段小手本章字?jǐn)?shù): 460字更新時間: 2022-07-29 15:23:21
4.2.1 線性回歸的基本原理
線性回歸的原理是,找到當(dāng)訓(xùn)練數(shù)據(jù)集中y的預(yù)測值和其真實值的平方差最小的時候,所對應(yīng)的w值和b值。線性回歸沒有可供用戶調(diào)節(jié)的參數(shù),這是它的優(yōu)勢,但也代表我們無法控制模型的復(fù)雜性。接下來我們繼續(xù)使用make_regression函數(shù),生成一個樣本數(shù)量為100,特征數(shù)量為2的數(shù)據(jù)集,并且用train_test_split函數(shù)將數(shù)據(jù)集分割成訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,再用線性回歸模型計算出w值和b值。現(xiàn)在我們在jupyter notebook中輸入代碼如下:
#導(dǎo)入數(shù)據(jù)集拆分工具 from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression X, y = make_regression(n_samples=100,n_features=2,n_informative=2,random_ state=38) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=8) lr = LinearRegression().fit(X_train, y_train)
在4.1節(jié)我們已經(jīng)學(xué)過,方程的斜率w,也被稱為權(quán)重或者系數(shù),被存儲在coef_屬性中,而截距b被存儲在intercept_屬性中,我們可以通過“print”函數(shù)將它們打印出來看一下:
print('\n\n\n代碼運(yùn)行結(jié)果:') print('==========\n') print("lr.coef_: {}".format(lr.coef_[:])) print("lr.intercept_: {}".format(lr.intercept_)) print('\n==========') print('\n\n\n')
按下shift+回車鍵后,可以看到結(jié)果如圖4-8所示。

圖4-8 模型的系數(shù)和截距
【結(jié)果分析】intercept_屬性一直是一個浮點數(shù),而coef_屬性則是一個NumPy數(shù)組,其中每個特征對應(yīng)數(shù)據(jù)中的一個數(shù)值,由于我們這次使用make_regression生成的數(shù)據(jù)集中數(shù)據(jù)點有2個特征,所以lr.coef_是一個二維數(shù)組。也就是說,在本例中線性回歸模型的方程可以表示為
y = 70.385 9×X1 + 7.4321×X2 -1.42e-14
- jQuery EasyUI網(wǎng)站開發(fā)實戰(zhàn)
- Mastering Python Scripting for System Administrators
- Learning Firefox OS Application Development
- Data Analysis with Stata
- Learning Python by Building Games
- Spring Boot Cookbook
- Scientific Computing with Scala
- Asynchronous Android Programming(Second Edition)
- Terraform:多云、混合云環(huán)境下實現(xiàn)基礎(chǔ)設(shè)施即代碼(第2版)
- CRYENGINE Game Development Blueprints
- Java 9 Programming By Example
- 從零開始學(xué)Android開發(fā)
- Python Projects for Kids
- Python預(yù)測之美:數(shù)據(jù)分析與算法實戰(zhàn)(雙色)
- Spring Data JPA從入門到精通