0

J'ai construit une équation de régression pour une trame de données de train (b) qui a toutes les X (variables d'entrée) dans collist. Ma variable de réponse - Y est SalePrice.Comment transmettre des données de test à une équation de régression en python?

X = b[collist].values 
y = b[['SalePrice']] 
reg2 = LinearRegression() 
reg2.fit(X, y) 
(reg2.intercept_, reg2.coef_) 

J'ai obtenu un tableau de coefficients.

(array([-1003980.93890187]), 
array([[ 1.13921901e+01, 6.72094755e-01, 3.57706059e+02, 
      9.11889135e+01, 1.74211742e+01, 1.49978955e+01, 
      1.01590205e+01, -2.39999419e+00, 2.27570861e+01, 
      .......... 
      ..more terms... 
      1.88596429e+01, 3.57099213e+01, -2.91352714e+01, 
      2.54343753e+01, 1.79479162e+03, 6.95632849e+02, 
      3.97891154e+03, 1.67768978e+03, -2.06711712e+03, 
      -4.70429021e+03]])) 

Comment identifier quel coefficient est pour quel terme?

De même, comment passer une trame de test dans cette équation et obtenir une réponse variable? Pour les données de test, j'ai également une autre trame de données dans laquelle la colonne pour SalePrice (réponse) est absente.

Merci.

Répondre

0

Vous devriez pouvoir zip les noms de colonnes avec les coefficients ...

[name, coef for name, coef in zip(b.columns, reg2._coef) 

jusqu'à prédire sur le cadre d'essai, il doit être quelque chose comme

reg2.predict(test_df)

Vous pouvez aussi appeler score pour sur l'échantillon R au carré

reg2.score(test_X, test_y) 

Regardez simplement le documentation.