Я сгенерировал функции из своих данных для ввода в алгоритм обучения.
Я работал со многими функциями раньше, но никогда не сталкивался с проблемой valueError: ранее натот же набор данных.
Ошибка:
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Структура моих данных (функций) выглядит следующим образом:
p_s,ne_s,ng_s,su_s,val
90,2320,30,0
Это была проблема.всего меток 5, но значения 4
при этом:
print(np.where(np.isnan(X)))
Я получаю:
(array([], dtype=int64), array([], dtype=int64))
Я также пытался:
np.isnan(X)
np.nan_to_num(X)
pd.DataFrame(X).fillna()
Но у меня ничего не получалось!
Код:
import pandas as pd
from sklearn.model_selection import train_test_split
data = pd.read_csv('data.csv')
X = data[['p_s','ne_s','ng_s','su_s']]
y = data['val']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
После этого я начинаю подгонять свои данные к алгоритму.
---//some code//--
.fit(X_train, y_train)
---//some code//--
Ожидания:
Ошибка значения отсутствует.Кроме того, почему это происходит в первую очередь?Я много работал с использованием до семи функций и никогда не сталкивался с тем же.Более того, я не могу делать ничего плохого в коде, потому что во всем сценарии нет деления и умножения.
Acutal:
ValueError: Как указано выше.
Выявленная проблема:
Когда я печатаю y_train и y_test , они возвращают значения NaN.Итак, я надеюсь, что данные верны.