如何实现多元回归?

问题描述 投票:0回答:1

我正在练习简单的回归模型,作为机器学习的入门。我已经审查了一些用于多元回归的样本模型,我认为这是线性回归的扩展,但具有多个功能。从我看到的示例中,线性回归和多元回归的语法相同。我的错误来自于功能不仅仅是因变量。我是否必须减小尺寸才能使多元回归起作用?

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv(r"C:\Users\****\Desktop\data.csv")

#x.shape =(20640, 2), y=(20640,)
X = df[['total_rooms', 'median_income']]
y = df['median_house_value']

plt.scatter(X, y)
from sklearn.model_selection import train_test_split

X_test, y_test, X_train, y_train = train_test_split(X, y, test_size=.2, random_state=0)

from sklearn.linear_model import LinearRegression
reg = LinearRegression()
reg.fit(X_train, y_train)

y_pred = reg.predict(X_test)

我错过了一步吗?感谢您的宝贵时间。

python machine-learning linear-regression
1个回答
0
投票

您不必做任何您不想做的事情:-)。但是总的来说,您将以某种方式想要处理诸如多重共线性的问题,但这并不一定意味着降维。

您的数据形状如何?如果您有20个要素,但观测到1万个观测值,则无需进行降维(至少不是在第一遍中)。

但是,如果您有1k个特征和10k个观测值,那么您将非常适合在学习者面前进行无监督的降维步骤。

[您可能要先尝试一些正则化(请参阅https://web.stanford.edu/~hastie/ElemStatLearn/-您可以从那里免费下载该书)。

例如,尝试使用ElasticNet类而不是LinearRegression类。这几乎是同一回事,但是权重的$ L_1 $和$ L_2 $范数会受到惩罚。这往往有助于概括。

在不了解您的特定问题的情况下,很难说其他话。

© www.soinside.com 2019 - 2024. All rights reserved.