Ошибка Input contains NaN, infinity or a value too large for dtype('float64')
Тип данных в файле:
data.dtypes
Пол int64
Старше 65 лет int64
Есть партнер int64
Есть иждивенцы int64
Срок пребывания int64
Телефонные услуги int64
Онлайн безопасность int64
Онлайн резервное копирование int64
Защита устройства int64
Техподдержка int64
Потоковое телевидение int64
Онлыйн фильмы int64
Контракт int64
Безбумажные счета int64
Способ оплаты int64
Месячная плата float64
Плата за все время float64
Отток int32
dtype: object
Пропущенных данных или NaN нет, использовала для этого разные коды:
data.fillna(data.mean())
data =data[~data.isin([np.nan, np.inf, -np.inf]).any(1)]
np.isnan(data)
np.where(np.isnan(data))
np.nan_to_num(data)
Но всё равно при построении логистической регрессии
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
result = model.fit(X_train, Y_train)
выдаёт следующую ошибку:
ValueError Traceback (most recent call last)
<ipython-input-19-041a5e114543> in <module>
1 from sklearn.linear_model import LogisticRegression
2 model = LogisticRegression()
----> 3 result = model.fit(X_train, Y_train)
~\anaconda3\lib\site-packages\sklearn\linear_model\_logistic.py in fit(self, X, y, sample_weight)
1525
1526 X, y = check_X_y(X, y, accept_sparse='csr', dtype=_dtype, order="C",
-> 1527 accept_large_sparse=solver != 'liblinear')
1528 check_classification_targets(y)
1529 self.classes_ = np.unique(y)
~\anaconda3\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
753 ensure_min_features=ensure_min_features,
754 warn_on_dtype=warn_on_dtype,
--> 755 estimator=estimator)
756 if multi_output:
757 y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,
~\anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
576 if force_all_finite:
577 _assert_all_finite(array,
--> 578 allow_nan=force_all_finite == 'allow-nan')
579
580 if ensure_min_samples > 0:
~\anaconda3\lib\site-packages\sklearn\utils\validation.py in _assert_all_finite(X, allow_nan, msg_dtype)
58 msg_err.format
59 (type_err,
---> 60 msg_dtype if msg_dtype is not None else X.dtype)
61 )
62 # for object dtype data, we only check for NaNs (GH-13254)
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Помогите, пожалуйста, исправить ошибку!