Подходит ли значение R-квадрата для сравнения моделей?

17

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

Для этого я использовал пару моделей из библиотеки scikit-learn и модели нейронной сети из pybrain и neurolab. Подход, который я использовал до сих пор, состоит в том, чтобы прогонять фиксированный объем данных через некоторые модели (алгоритмы машинного обучения) и сравнивать там значения R2 которые были рассчитаны с помощью модуля показателей scikit-learn.

  1. Является ли R2 хорошим методом для сравнения производительности разных моделей?
  2. Хотя я получил вполне приемлемые результаты для таких моделей, как Эластичная сеть и Случайные леса, я получил очень плохие значения R2 для моделей нейронных сетей, поэтому является ли R2 подходящим методом для оценки нейронных сетей (или нелинейных методов)?
Маник
источник
2
Краткий ответ - нет . Это может помочь вам прочитать мой ответ здесь: Оценка модели и сравнение для выбора лучшей модели , которая довольно тесно связана с вашим вопросом. Возможное решение описано здесь . Для более общего понимания вы можете попробовать прочитать некоторые темы на сайте, отнесенные к тегу выбора модели .
gung - Восстановить Монику
@ gung Спасибо! Могу я спросить, что было бы подходящим критерием соответствия для регрессии с использованием нейронных сетей?
Маник

Ответы:

18

Я думаю, что важнейшая часть, которую следует учитывать при ответе на ваш вопрос,

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

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

Во-первых, давайте вспомним, что делает R2 : он вычисляет масштабированную меру на основе функции квадратичной потери, которую, я уверен, вы уже знаете. Чтобы убедиться в этом, определить остаточные для г-го наблюдения у я и соответствующее встроено значение у я . Используя удобные обозначения S S R : = N i = 1 e 2 i , S S T : = ei=yiy^iyiy^iSSR:=i=1Nei2,R2является просто определена какR2=1-SSR/SST.SSTзнак равноΣязнак равно1N(Yя-Y¯)2р2R2=1SSR/SST

Во-вторых, давайте посмотрим, что означает использование для выбора / оценки моделиR2 . Предположим, мы выбираем из набора предсказаний которые были сгенерированы с использованием модели M : M M , где M - коллекция рассматриваемых моделей (в вашем примере эта коллекция будет содержать нейронные сети, случайные леса, упругие сети, ...). Так как S S T будет оставаться постоянной среди всех моделей, если свести к минимуму R 2 вы будете выбирать именно ту модель , которая сводит к минимуму S S R . Другими словами, вы выберетеY¯MM:MMMSSTR2SSR который дает минимальную квадратную потерю ошибки!MM

R2SSR L2L1

R2Lp1p<2p=1LpLp

Таким образом, выбор / оценка модели не может рассматриваться независимо от цели модели.

Иеремия К
источник