【问题标题】:Feature Selection in Multivariate Linear Regression多元线性回归中的特征选择
【发布时间】:2021-04-16 17:10:00
【问题描述】:
import numpy as np
import pandas as pd
import seaborn as sns
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
a = make_regression(n_samples=300,n_features=5,noise=5)
df1 = pd.DataFrame(a[0])
df1 = pd.concat([df1,pd.DataFrame(a[1].T)],axis=1,ignore_index=True)
df1.rename(columns={0:"X1",1:"X2",2:"X3",3:"X4",4:"X5",5:"Target"},inplace=True)
sns.heatmap(df1.corr(),annot=True);

Correlation Matrix

现在我可以问我的问题了。如何选择将包含在模型中的特征?

【问题讨论】:

  • 您能向我们展示您使用的部分数据集吗?\
  • Dataset Head 它只是一个来自 make_regression 的随机数据集。

标签: linear-regression feature-selection


【解决方案1】:

我在大部分时间使用r,我并不是很好的。 但它应该是这样的:

# Create a model
model = LinearRegression()
# Call the .fit method and pass in your data
model.fit(Variables,Target)
# Or simply do
model = LinearRegression().fit(Variables,Target)
# So based on the dataset head provided, it should be
X<-df1[['X1','X2','X3','X4','X5']]
Y<-df1['Target']
model = LinearRegression().fit(X,Y)

为了进行功能选择。您需要先运行模型。然后检查p值。通常,p值为5%(.05)或更低的是一个好的截止点。如果p值交叉,则较高阈值为.05,变量是微不足道的,您可以从模型中删除它。您必须手动执行此操作。您还可以通过查看相关矩阵来查看与目标相关的值较小。 AFAIK,没有内置功能的LIB,可以自动进行功能选择。最终,统计数据只是数字。这取决于人类来解释结果。

【讨论】:

  • thx,但这不是我的问题的答案。我想学习线性回归中的特征选择标准。 span>
  • 嗯,为了做一个功能选择,你必须先运行模型。然后检查p值。通常,p值为5%(.05)或更低的是一个好的截止点。如果p值交叉,则较高阈值为.05,变量是微不足道的,您可以从模型中删除它。您必须手动执行此操作。 span>
  • 非常感谢你,我会尝试。 span>
猜你喜欢
  • 2022-01-06
  • 2019-02-26
  • 2017-01-18
  • 2019-04-05
  • 2020-03-09
  • 1970-01-01
  • 2019-07-29
  • 2021-06-10
  • 2019-10-08
相关资源
最近更新 更多