Как узнать, достаточно ли хороши результаты моей модели?

Вопрос или проблема

У меня есть набор данных о разных людях с их страховыми расходами. Я обучил нейронную сеть для предсказания страховых расходов (столбец charges) на основе других признаков (возраст, индекс массы тела и т. д.). Вот как работает моя нейронная сеть:

insurance_model.compile(
    loss=tf.keras.losses.mae,
    optimizer=tf.keras.optimizers.Adamax(learning_rate=0.001),
    metrics=["mae"]
)

Вот некоторые статистические данные о моей целевой переменной (столбец charges)

введите описание изображения здесь

А вот гистограмма значений столбца charges:

введите описание изображения здесь

Я оцениваю свою нейронную сеть по среднему абсолютному отклонению (mae), и в конце мое mae=1300 для обоих наборов данных: обучающего и тестового.

Итак, меня интересует, достаточно ли 1300?

Как я могу узнать, хорош ли какой-либо результат?

Среднее абсолютное отклонение легко интерпретировать: в среднем значение, предсказанное вашей моделью, отклоняется на 1300.

  • Во-первых, это выглядит хорошо относительно диапазона целевого значения: 1300 довольно мало для диапазона от 0 до 60000.
  • Среднее целевого значения составляет 13k, поэтому ошибка составляет 10% от среднего, что вполне разумно. Если мы экstrapolируем, это может означать, что ошибка составляет в среднем около 10%.

Я бы предложил взглянуть на распределение ошибок (в частности, на дисперсию), чтобы получить некоторые указания, такие как: “система имеет x% вероятности предсказать значение в пределах y% от правильного значения”.

Также может быть полезно изучить, в каких случаях происходят наибольшие ошибки. В частности, коррелирует ли ошибка со значением? Это может иметь значение, потому что ошибка в 3k огромна, если целевое значение составляет 2k, но она маленькая, если целевое значение составляет 50k.

Как я могу знать, хорош ли какой-либо результат?

Сравнивая с базовой системой. Базовой системой может быть какая-то ранее существовавшая система, упрощенная модель (см. пример ниже) или какая-то более сложная модель с использованием другого метода.

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

Вы также можете реализовать более простую регрессионную модель, например, с помощью SVM или дерева решений.

Ответ или решение

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

1. Анализ величины ошибки

Вы используете среднюю абсолютную ошибку (MAE) для оценки качества модели, и ваша модель показывает MAE равную 1300. Для начала рассмотрим это значение в контексте вашего целевого признака (столбец charges):

  • Диапазон значений: Если целевые значения колеблются от 0 до 60,000, то ошибка в 1300 кажется достаточно малой. Это составляет около 2-3% от максимального значения.
  • Среднее значение: Вы упомянули, что среднее значение целевого признака составляет около 13,000. MAE равная 1300 представляет собой примерно 10% от этого среднего, что можно считать приемлемым уровнем ошибки для прогноза.

2. Анализ распределения ошибок

Важно проанализировать распределение ваших ошибок, чтобы понять, насколько ваша модель точна в различных диапазонах предсказаний:

  • Статистика ошибок: Постройте график распределения ошибок модели (прогнозируемые значения минус истинные значения). Это даст вам представление о том, как часто ваши предсказания отклоняются от истинных значений и каково распределение этих отклонений.
  • Коэффициент вариации: Вычислите коэффициент вариации (отношение стандартного отклонения к среднему) для ошибок. Это поможет понять, насколько велика изменчивость ваших предсказаний.
  • Оценка по интервалу: Используйте интервал предсказаний, чтобы определить, с какой вероятностью модель предсказала значение в пределах, например, ±10% от истинного значения.

3. Сравнение с базовыми моделями

Для более объективной оценки целесообразности ваших результатов стоит сравнить их с простыми базовыми моделями:

  • Базовая модель с медианным предсказанием: Вычислите MAE для модели, которая всегда предсказывает медианное значение вашего целевого столбца. Это поможет определить, насколько ваша модель улучшает результаты по сравнению с этой простой стратегией.
  • Сравнение с другими моделями: Попробуйте реализовать более простую модель (например, линейная регрессия, решающее дерево или метод опорных векторов) и сравните результаты MAE с вашей нейронной сетью. Это даст вам представление о том, насколько сложная модель оправдывает свою сложность.

4. Построение визуализаций ошибок

Создание визуализаций может помочь лучше проиллюстрировать эффективность модели:

  • Графики остатков: Постройте график остатков для оценки взаимосвязи между предсказанными значениями и остатками. Если есть закономерности, это может указывать на то, что модель может быть улучшена.
  • Корреляция ошибок с истинными значениями: Проверьте, как ваши ошибки зависят от истинных значений. Возможно, ваша модель наблюдает более крупные ошибки на определенных диапазонах значений.

Заключение

Ваша MAE в 1300 является сравнительно приемлемой на основании вышеизложенных факторов, но для окончательной оценки необходимо рассмотреть указанные аспекты. Если ваши результаты значительно улучшаются по сравнению с базовыми моделями, а также неплохо справляются с задачей прогнозирования, то мы можем считать вашу модель удовлетворительной. Периодическая переоценка и улучшение модели на основе новых данных также помогут поддерживать ее релевантность и точность.

Оцените материал
Добавить комментарий

Капча загружается...