python如何建立多元線性回歸模型

小億
122
2024-03-27 14:14:38

要建立一個(gè)多元線性回歸模型,可以使用Python中的統(tǒng)計(jì)庫(kù)或機(jī)器學(xué)習(xí)庫(kù)來(lái)實(shí)現(xiàn)。以下是使用statsmodelsscikit-learn庫(kù)建立多元線性回歸模型的示例代碼:

使用statsmodels庫(kù):

import numpy as np
import pandas as pd
import statsmodels.api as sm

# 創(chuàng)建一個(gè)包含自變量和因變量的DataFrame
data = {
    'X1': [1, 2, 3, 4, 5],
    'X2': [2, 4, 6, 8, 10],
    'Y': [3, 5, 7, 9, 11]
}
df = pd.DataFrame(data)

# 添加常數(shù)列
df['const'] = 1

# 擬合多元線性回歸模型
model = sm.OLS(df['Y'], df[['const', 'X1', 'X2']]).fit()

# 輸出回歸系數(shù)和統(tǒng)計(jì)信息
print(model.summary())

使用scikit-learn庫(kù):

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# 創(chuàng)建自變量和因變量的數(shù)組
X = np.array([[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]])
y = np.array([3, 5, 7, 9, 11])

# 將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 擬合多元線性回歸模型
model = LinearRegression()
model.fit(X_train, y_train)

# 輸出回歸系數(shù)和R^2值
print('Coefficients:', model.coef_)
print('Intercept:', model.intercept_)
print('R^2 score:', model.score(X_test, y_test))

這兩種方法都可以用來(lái)建立多元線性回歸模型,并輸出模型的系數(shù)和統(tǒng)計(jì)信息??梢愿鶕?jù)具體的需求選擇合適的方法來(lái)建立模型。

0