Мой код - проанализировать набор данных PUBG из kaggle и создать модель. Я извлек все функции и стандартизировал их с помощью StandardScaler из sklearn.
//Snippet
X=standardized_data
y=training_features_output
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.30,random_state=42)
print(standardized_data.shape,training_features_output.shape)
[Вывод]: (4446966, 16) (4446966,)
print(np.all(np.isinf(standardized_data)))
print(np.all(np.isinf(training_features_output)))
print(np.all(np.isnan(standardized_data)))
print(np.all(np.isnan(training_features_output)))
[Вывод]:
Ложь
Ложь
Ложь
Ложь
print(X.dtype)
print(y.dtype)
[Вывод]:
dtype ('float64')
dtype ('float64')
model=LinearRegression()
model.fit(X_train,y_train)
y_train_pred=model.predict(X_train)
y_test_pred=model.predict(X_test)
print('Train r2_accuracy:',r2_score(y_train,y_train_pred))
print('Test r2_accuracy:',r2_score(y_test,y_test_pred))
ValueError: ввод содержит NaN, бесконечность или значение, слишком большое для dtype ('float64').
фото ошибки
Полный код
Из приведенных выше выходных данных мы видим, что они не являются значениями nan и бесконечными в наборе данных, а также данные находятся в формате float64. но как я получаю эту ошибку и как ее решить?
Пробовал другие запросы по этому поводу в stackoverflow, у всех были nan или что-то испорченное, и я не знаю, где этот код испорчен.
np.all(np.isinf(x))
‹- вы не проверяете, содержит ли оно бесконечное значение / NaN, вы проверяете, есть ли они только у вас в данных. - person Uvar   schedule 08.11.2018