Я пытаюсь приспособить простую модель машинного обучения, используя scikit learn. По этой строке:
clf.fit(features, labels)
Я получаю знакомую ошибку:
Input contains NaN, infinity or a value too large for dtype('float64').
Всякий раз, когда я сталкивался с этим раньше, когда это было, где значения NaN в моих данных. Я подтвердил, что в данных нет NaN. Два входа в метод .fit () (функции и метки) являются массивами np, но они создаются из фрейма данных pandas. Прямо перед извлечением значений NaN я напечатал:
print(features_df[features_df.isnull().any(axis=1)])
print(labels_df[labels_df.isnull().any(axis=1)])
Это напечатало пустые кадры данных, так что я знаю, что нет строки со значением NaN в нем. Я также проверил числовые массивы для значений NaN после преобразования и даже успешно суммировал их с помощью метода np sum (), поэтому в признаках или массивах np, переданных в соответствие, нет значений NaN.
Это означает, что должны быть значения бесконечности или действительно большие значения, в которые мне трудно поверить. Есть ли какой-нибудь способ, которым я могу напечатать любые значения в массиве данных или массиве np, которые:
are NaN, infinity or a value too large for dtype('float64')?
Мне нужно, чтобы они были специально указаны мне, так как я не могу найти их своими глазами, и нет значений NaN.