0
graphlab을 사용하여 선형 회귀 모델을 만들려고합니다. 나는 200 개의 샘플과 1 개의 예측자를 가지고있다. 단 1 개 기능이 더 INF가 없기 때문에 내 경우에는 적용되지 않습니다graphlab linear regression이 숫자 오버플로 오류로 종료되었습니다.
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
힌트 (b), (c) 및 (D) :하지만 "숫자 오버플로 오류"가 발생, 여기에 출력 또는 NaN 값. 나는 다양한 l2_penalty를 시도했지만 모두 사용하지는 않습니다. 내가 샘플 수를 180과 같이 더 작은 숫자로 제한하면 작동 할 것입니다.
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]
숫자 오버플로 오류의 원인을 이해하지 못합니다. 누군가 설명 할 수 있습니까?
감사합니다.
이 작업을 해결하면 필요한 다른 솔버를 언제든지 선택할 수 있습니다. 이것을 디버깅하려면 실제로 데이터가 표시되어야하지만, 실제로는 이상하게 보입니다. – sascha
답장을 보내 주셔서 감사합니다. – Pollyanna