Python中的逐步回归
如何在python中进行逐步回归?我知道SCIPY有OLS的方法,但我不知道怎么做逐步回归。如果有人能帮忙,那就太好了。谢谢。
补充说明:我正在尝试建立一个线性回归模型。我有5个自变量,想用前向逐步回归来选择变量,以便我的模型有最低的p值。下面的链接解释了这个目标:
再次感谢。
7 个回答
12
Trevor Smith和我写了一个简单的前向选择函数,用于线性回归,使用的是statsmodels这个库。你可以很容易地修改这个函数,让它最小化p值,或者根据beta的p值进行选择,只需要稍微多花点功夫。
13
你可以试试mlxtend这个工具,它提供了多种选择方法。
from mlxtend.feature_selection import SequentialFeatureSelector as sfs
clf = LinearRegression()
# Build step forward feature selection
sfs1 = sfs(clf,k_features = 10,forward=True,floating=False, scoring='r2',cv=5)
# Perform SFFS
sfs1 = sfs1.fit(X_train, y_train)