构建机器学习模型的方法

数据挖掘 机器学习 Python
2022-02-09 08:25:09

我看过他们提到 5 种构建模型的方法的页面。

1) All-in
2) Backward Elimination
3) Forward Selection
4) Bidirectional Elimination
5) Score Comparision

我通常使用线性回归或任何算法sklearn

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X, y)
y_pred = lr.predict(X_test)

如何实现这 5 种构建模型的方法?

谁能解释这一点的重要性以及其中最常用的是什么?

3个回答

严格来说,这些不是“构建”模型的方法,它们是特征选择策略。

它们中的大多数都是在Scikit-learn中实现的。

正如曲赛在他的回答中所说,这些不是建立模型的方法,而是选择机制。还有其他的,比如特征工程(例如降维可以看作是特征工程)。

从您的示例开始,并假设这X是您的完整数据:

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X, y)
y_pred = lr.predict(X_test)

这是全押。由此,向后消除是删除其中一列并保持n-1最佳结果。

然后 forward 是从 0 开始并添加 1 个特征,所以一次只有一列,比较所有潜在的。

双向是尝试在每个步骤中添加或删除(因为非线性模型有时可能没有一个特征会更好,但有两个特征会更好)。

每次,比较分数,更准确地说,比较交叉验证的分数。在某种程度上,只有第 5 步是你一直在做的事情。

后向消除

第 1 步:选择一个显着性水平以留在模型中(例如:SL=0.05)。

第 2 步:用可能的预测变量拟合完整模型。

第 3 步:考虑具有最高 p 值的预测变量。如果 P>SL,请转到步骤 4,否则您的模型已完成。

第 4 步:删除预测器

第 5 步:拟合没有此变量的模型,然后转到第 3 步。

前向选择

步骤 1:选择一个显着性水平输入模型(例如:SL=0.05)

第 2 步:拟合所有简单回归模型y~Xn,选择 p 值最低的那个。

第 3 步:保留变量并拟合所有可能的模型,并将一个额外的预测变量添加到您已有的模型中。

第 4 步:考虑具有最低 p 值的预测变量。如果 p-value < SL,则转到 Step3,否则模型完成。

双向消除

步骤 1:选择一个显着性水平以留在模型中(例如:SLENT=0.05,SLSTAY=0.05)

第二步:进行下一步的正向选择(新变量必须有p-value<SLENTT才能进入)

第 3 步:执行所有反向消除步骤(旧变量必须具有 p-value<SLSTAY 才能保留)重复第 2 步和第 3 步,直到没有新变量,然后移至第 5 步。

第四步:如果没有新的变量可以进入,也没有变量可以退出,那么就是最终的模型。

所有可能的模型

步骤 1:选择拟合优度的标准。

第 2 步:构建所有可能的回归模型2N1总组合。

第 3 步:选择具有最佳标准的一项