Регрессия Ridge и Lasso - ValueError: входные данные содержат NaN, бесконечность или значение, слишком большое для dtype ('float64') - PullRequest
0 голосов
/ 11 июля 2020

Требуется помощь по сообщению об ошибке

params = {'alpha': [0.0001, 0.001, 0.01, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 20, 50, 100, 500, 1000 ]}
    
    
    ridge = Ridge()
    
    # cross validation
    folds = 5
    model_cv = GridSearchCV(estimator = ridge, 
                            param_grid = params, 
                            scoring= 'neg_mean_absolute_error', 
                            cv = folds, 
                            return_train_score=True,
                            verbose = 1)            
    model_cv.fit(X_train, y_train)

Сообщение об ошибке

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').   
~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in      _assert_all_finite(X, allow_nan)    
     54                 not allow_nan and not np.isfinite(X).all()):    
     55             type_err = 'infinity' if allow_nan else 'NaN, infinity'    
---> 56             raise ValueError(msg_err.format(type_err, X.dtype))    
     57     # for object dtype data, we only check for NaNs (GH-13254)    
     58     elif X.dtype == np.dtype('object') and not allow_nan:    
    
ValueError: Input contains NaN, infinity or a value too large for  
dtype('float64').    

1 Ответ

0 голосов
/ 11 июля 2020

Я попробовал этот шаг, и он сработал

X = X.fillna(X.interpolate())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...