-3

Je voulais vérifier si un problème de Régression Linéaire Multiple produisait le même résultat une fois résolu en utilisant Scikit-Learn et Statsmodels.api. Je l'ai fait en 3 sections (dans l'ordre de leur mention): Statsmodels (sans interception), Statsmodels (avec interception) et SKL. Comme prévu, mes coefficients SKL et R (carré) étaient identiques à ceux de Statsmodels (avec interception) mais mon erreur SKL moyenne était équivalente à celle de Statsmodels (sans interception).Régression linéaire utilisant Scikit-learn vs Statsmodels

Je vais partager mon code de bloc-notes; c'est un morceau de code assez basique, puisque je viens de commencer avec des applications d'apprentissage automatique. S'il vous plaît, parcourez-le et dites-moi pourquoi cela se passe. En outre, si vous pouviez partager vos idées sur n'importe quel morceau de code inefficace, je serais reconnaissant. Voici le code:

https://github.com/vgoel60/Linear-Regression-using-Sklearn-vs-Statsmodel.api/blob/master/Linear%20Regression%20Boston%20Housing%20Prices%20using%20Scikit-Learn%20and%20Statsmodels.api.ipynb

+5

Réalisez-vous les liens vers un serveur local fonctionnant sur votre ordinateur? Il ne peut pas être consulté par d'autres. Postez votre code dans le corps. – Kshitiz

+0

Merde! Non, je ne m'en suis pas rendu compte. Je n'ai jamais utilisé d'applications sur des serveurs locaux; la façon dont les ordinateurs portables Jupyter fonctionnent sur mon ordinateur. Je vais juste poster le code dans le corps. –

+0

J'ai créé un compte Github et j'ai téléchargé ce code là-bas. Cela devrait fonctionner correctement maintenant. Merci, –

Répondre

0

Vous avez fait une erreur, ce qui explique les résultats étranges. Lorsque vous faites les prédictions du modèle linéaire avec scikit-learn, vous écrivez:

predictions2 = lm.predict(xtest2) 

Notez que vous utilisez le modèle lm, celui qui résulte de la première régression statsmodels. Au lieu de cela, vous devriez avoir écrit:

predictions2 = lm2.predict(xtest2) 

Lorsque vous faites cela, les résultats sont comme prévu.

+0

Cela répond à mon problème. Merci beaucoup. –

+0

Bien! N'oubliez pas de marquer la réponse comme correcte! –