Я строю базовую модель линейной регрессии, используя пакет statsmodel
, и вот что я пытаюсь сделать:
Создайте цикл 'for', который проверяет вероятности каждой из функций, проверяет,Если значение больше 0,05, если да, отбросьте функцию из данных обучения (и тестирования), снова подберите модель и повторяйте, пока все вероятности не станут <0,05. <br>Вот что я сделал до сих пор:
for x,y in zip(lrmodel.pvalues,xtrain.columns):
if x>0.05:
xtrain = xtrain.drop(y,axis=1)
xtest = xtest.drop(y,axis=1)
lrmodel = sm.OLS(ytrain,xtrain).fit()
finalmodel = lrmodel
else:
finalmodel = lrmodel
Проблема с этим циклом состоит в том, что он не выполняет итерации по значениям, скорее он удаляет все вероятности> 0,05 в одном кадре.
Если кто-нибудь может мне помочь, я был бы признателен.Спасибо!