Входные данные Python содержат NaN, бесконечность или значение, слишком большое для типа d float32 - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь классифицировать, используя классификатор дерева решений Склеарна.Я сохранил свои наборы данных обучения и тестирования в двух отдельных фреймах данных панд.Я называю классификатор следующим образом:

classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)
classifier.fit(features_in_training_set, class_labels_in_training_set)
predictions = classifier.predict(features_in_testing_set)

Однако я получаю эту ошибку, которая, как представляется, часто встречается при классификации по дереву.

ValueError: Input contains NaN, infinity or a value too large for dtype('float32').

Я знаю, чтонет пропущенных значений ни в одном наборе данных.Я меняю их, используя метод импутера.Печать моих фреймов данных показывает это, но чтобы перепроверить, я также попробовал df.isna(), и все выходы ложные.Я не думаю, что у меня есть значения бесконечности, поскольку кадры состоят из двоичных значений.Я не хочу удалять строки или столбцы, так как не хочу уменьшать свой набор данных.Я также не хочу заменять их по любым другим критериям.

Я не совсем уверен, как найти столбцы, которые слишком велики для dtype float 32, и как изменить их, если они есть.У меня такое чувство, что это может быть моя колонка с метками времени.Вот фрагмент фрейма обучающих данных, так как он довольно большой:

             time      A     B 
0       1.518999e+09   1     1
1       1.518999e+09   1     0 
2       1.518999e+09   0     1
3       1.518999e+09   0     0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...