Scikit-learn est de retour coefficient de détermination (R^2) les valeurs inférieures à -1

Je suis en train de faire un modèle linéaire simple. J'ai

fire = load_data()
regr = linear_model.LinearRegression()
scores = cross_validation.cross_val_score(regr, fire.data, fire.target, cv=10, scoring='r2')
print scores

qui donne

[  0.00000000e+00   0.00000000e+00  -8.27299054e+02  -5.80431382e+00
  -1.04444147e-01  -1.19367785e+00  -1.24843536e+00  -3.39950443e-01
   1.95018287e-02  -9.73940970e-02]

Comment est-ce possible? Lorsque je fais la même chose avec la construction dans le diabète de données, il fonctionne parfaitement bien, mais pour mes données, il renvoie ces apparemment des résultats absurdes. Ai-je fait quelque chose de mal?

Pour que cela se produise avec un LinearRegression, votre modèle doit être si mauvais que prédire une simple moyenne tous les temps serait mieux. Habituellement, cela signifie que votre modèle est en cours de montage. Voir ma réponse ci-dessous pour plus de détails, ou essayez le réglage cv un nombre plus petit.

OriginalL'auteur rhombidodecahedron | 2014-04-12