J'essaie de créer un modèle de régression linéaire en utilisant graphlab. J'ai 200 échantillons et 1 prédicteur. Mais je rencontrais « erreur de dépassement numérique », voici la sortie:régression linéaire graphlab terminée en raison de l'erreur de débordement numérique
model_all = graphlab.linear_regression.create(data2.tail(200), target='output', features=['input'],validation_set=None,l2_penalty=0.0002,solver = 'auto')
Linear regression:
--------------------------------------------------------
Number of examples : 200
Number of features : 1
Number of unpacked features : 1
Number of coefficients : 2
Starting Newton Method
--------------------------------------------------------
+-----------+----------+--------------+--------------------+---------------+
| Iteration | Passes | Elapsed Time | Training-max_error | Training-rmse |
+-----------+----------+--------------+--------------------+---------------+
+-----------+----------+--------------+--------------------+---------------+
TERMINATED: Terminated due to numerical overflow error.
This model may not be ideal. To improve it, consider doing one of the following:
(a) Increasing the regularization.
(b) Standardizing the input data.
(c) Removing highly correlated features.
(d) Removing `inf` and `NaN` values in the training data
indice (b), (c) et (d) ne pas appliquer à mon cas car il y a seulement 1 fonction et il n'y a pas inf ou des valeurs NaN. J'ai essayé divers l2_penalty mais tout ne sert à rien. Si je limite le nombre d'échantillons à un plus petit nombre tel que 180, cela fonctionnera.
model_all = graphlab.linear_regression.create(data2.tail(180), target='output', features=['input'],validation_set=None,l2_penalty=0.0002,solver = 'auto')
model_all.get("coefficients").print_rows(num_rows=100)
Linear regression:
--------------------------------------------------------
Number of examples : 180
Number of features : 1
Number of unpacked features : 1
Number of coefficients : 2
Starting Newton Method
--------------------------------------------------------
+-----------+----------+--------------+--------------------+---------------+
| Iteration | Passes | Elapsed Time | Training-max_error | Training-rmse |
+-----------+----------+--------------+--------------------+---------------+
| 1 | 2 | 0.000866 | 9.873043 | 4.272624 |
+-----------+----------+--------------+--------------------+---------------+
SUCCESS: Optimal solution found.
+----------------+-------+------------------+-------------------+
| name | index | value | stderr |
+----------------+-------+------------------+-------------------+
| (intercept) | None | 9.3412783539 | 3.80166353756 |
| DOEDDIST.Index | None | 0.00226165438702 | 0.000975084975224 |
+----------------+-------+------------------+-------------------+
[2 rows x 4 columns]
Je ne comprends pas ce qui cause l'erreur de débordement numérique. Quelqu'un peut-il aider à expliquer?
Merci.
Vous pouvez toujours choisir un autre solveur disponible si la résolution de cette tâche est tout ce dont vous avez besoin. Pour déboguer ceci, vous devriez probablement montrer les données, bien que votre observation soit vraiment étrange. – sascha
Merci pour la réponse – Pollyanna