Хотя нам лично могут не нравиться те случаи, когда мы сталкиваемся с ошибками во время построения модели, но поверьте мне, ошибки — это один из самых увлекательных способов узнать, как работает внутренняя система или программа. Машинное обучение также не является исключением.

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

IndexError: допустимыми индексами являются только целые числа, срезы (`:`), многоточие (`…`), numpy.newaxis (`None`) и целые или логические массивы.

Происхождение: прогноз продаж Walmart. При создании конвейера для конвейера FeatureTransformer, когда я выполнял вменение отсутствующих значений перед фактическим преобразованием признаков. Это сработало нормально, когда я поставил вменение после преобразования.

ValueError: Поддерживаемые типы целей: («бинарные», «многоклассовые»). Вместо этого получил «непрерывный».

StratifiedKFold не является хорошим выбором для проблемы регрессии и, следовательно, этой ошибки. Вместо этого я использовал KFold, и проблема решена. Происхождение: прогноз продаж Walmart.

R2 отрицательный

Неуклюжая реализация модели, но очень маловероятная. Однако в большинстве случаев это происходит из-за человеческой опечатки. Я имел в виду, что проверьте предыдущую строку перед вычислением R2 и проверьте, есть ли у вас расчет «-(np.mean(rmse)» для расчета RMSE, и вставьте ту же строку для R2, ​​совершенно не обращая внимания на отрицательный (- знак) в np.mean ().Может быть еще один сценарий, который может произойти, если ваши тестовые и тренировочные данные имеют разный масштаб, то есть, скажем, вы выполнили масштабирование своего тренировочного набора, например, с помощью StandardScaler, но ничего не сделали с тестовыми данными при оценке вашей модели.

TypeError: объект SimpleImputer не повторяется

В частности, это происходит, когда вы пропускаете круглые скобки во время создания конвейера.

MemoryError: невозможно выделить 23,5 ГиБ для массива с формой (56209, 56209) и типом данных float64.

Я столкнулся с этой ошибкой, когда пытался подогнать модель QuantileRegressor().

DataConversionWarning: вектор-столбец y был передан, когда ожидался массив 1d. Измените форму y на (n_samples,), например, с помощью ravel().

rf = RandomForestClassifier()
rf.fit(X_train, y_train.values.ravel()) # Используйте y_train.values.ravel вместо y_train

Ошибка cross_val_score: ValueError: цель является мультиклассовой, но среднее = «бинарное». Выберите другой средний параметр, один из [Нет, «микро», «макро», «взвешенный».

cross_val_score возвращает значения nan для классификатора с несколькими метками, если оценка имеет значение «отзыв», «точность» или «f1». Подробности смотрите в документации sklearn.

Выбор метода перекрестной проверки для проблемы регрессии

При выборе схемы перекрестной проверки для задачи регрессии большинство людей выбирают обычную K-кратность, поскольку целевые значения непрерывны. Это приведет к случайному разделению набора для обучения и проверки и не сможет обеспечить идентичное распределение целевых значений в наборе для обучения и проверки.

Спасибо за прочтение!

Я надеюсь, что эта статья будет полезна для вас и предоставит вам необходимую информацию, чтобы вы могли продолжить свое путешествие по машинному обучению.

Хлопните в ладоши и подпишитесь на Debmalya Mondal, чтобы получать такой контент.

Свяжитесь со мной в