В этом блоге я расскажу об оценке модели. Итак, приступим. Цель регрессии - построить модель для точного прогнозирования неизвестного случая. Для этого мы должны выполнить оценку регрессии после построения модели. Я представлю и рассмотрю два типа оценочных подходов, которые можно использовать для достижения этой цели. Эти подходы
- Обучайте и тестируйте на одном наборе данных
- Сплит поезд / тест.
Мы поговорим о каждой из них, а также о плюсах и минусах использования каждой из этих моделей. Кроме того, мы представим некоторые показатели точности регрессионных моделей.
Давайте посмотрим на первый подход. При рассмотрении моделей оценки мы явно хотим выбрать ту, которая даст нам наиболее точные результаты. Итак, вопрос в том, как мы можем рассчитать точность нашей модели? Другими словами, насколько мы можем доверять этой модели для прогнозирования неизвестной выборки с использованием заданного набора данных и построения такой модели, как линейная регрессия? Одно из решений - выбрать часть нашего набора данных для тестирования. Например, предположим, что у нас есть 10 записей в нашем наборе данных.
Мы используем весь набор данных для обучения и строим модель, используя этот обучающий набор. Теперь мы выбираем небольшую часть набора данных, например строки с номерами от шести до девяти, но без меток. Этот набор называется набором тестов, у которого есть метки, но метки не используются для предсказания и используются только как основополагающие. Этикетки называются фактическими значениями тестового набора. Теперь мы передаем набор функций тестовой части нашей построенной модели и прогнозируем целевые значения. Наконец, мы сравниваем прогнозируемые значения нашей модели с фактическими значениями в тестовом наборе.
Это показывает, насколько точна наша модель. Существуют разные метрики, чтобы сообщить о точности модели, но большинство из них работают, как правило, на основе сходства прогнозируемых и фактических значений. Давайте посмотрим на один из простейших показателей для расчета точности нашей регрессионной модели.
Как уже упоминалось, мы просто сравниваем фактические значения y с прогнозируемыми значениями, которые отмечены как y hat для набора тестирования. Ошибка модели рассчитывается как средняя разница между прогнозируемыми и фактическими значениями для всех строк. Мы можем записать эту ошибку в виде уравнения. Итак, первый подход к оценке, о котором мы только что говорили, является самым простым: обучение и тестирование на одном и том же наборе данных.
По сути, название этого подхода говорит само за себя. Вы обучаете модель всему набору данных, а затем тестируете ее, используя часть того же набора данных. В общем смысле, когда вы тестируете набор данных, в котором вы знаете целевое значение для каждой точки данных, вы можете получить процент точных прогнозов для модели. Такой подход к оценке, скорее всего, будет иметь высокую точность обучения и низкую точность вне выборки, поскольку модель знает все точки данных тестирования из обучения. Что такое точность обучения и точность вне выборки? Мы сказали, что обучение и тестирование на одном и том же наборе данных обеспечивает высокую точность обучения, но что такое точность обучения? Точность обучения - это процент правильных прогнозов, которые модель делает при использовании тестового набора данных. Однако высокая точность обучения - не всегда хорошо. Например, высокая точность обучения может привести к завышению данных. Это означает, что модель чрезмерно обучена набору данных, что может улавливать шум и создавать необобщенную модель. Точность вне выборки - это процент правильных прогнозов, которые модель делает на основе данных, на которых модель не была обучена. Выполнение обучения и тестирования одного и того же набора данных, скорее всего, будет иметь низкую точность вне выборки из-за вероятности чрезмерного соответствия. Важно, чтобы наши модели имели высокую точность вне выборки, потому что цель нашей модели, конечно, состоит в том, чтобы делать правильные прогнозы на основе неизвестных данных. Итак, как мы можем повысить точность вне выборки? Один из способов - использовать другой подход к оценке, называемый разделением на обучение / тест.
В этом подходе мы выбираем часть нашего набора данных для обучения, например, строки с нуля по пятую, а остальная часть используется для тестирования, например, строки с шестой по девять.
Модель построена на обучающей выборке. Затем набор тестовых функций передается модели для прогнозирования. Наконец, прогнозируемые значения для тестового набора сравниваются с фактическими значениями для тестового набора. Второй подход к оценке называется разделением на поезд / тест.
Разделение «обучение / тест» включает разделение набора данных на обучающий и тестовый наборы соответственно, которые являются взаимоисключающими. После этого вы тренируетесь с обучающим набором и тестируете с помощью набора для тестирования. Это обеспечит более точную оценку точности вне выборки, поскольку набор данных тестирования не является частью набора данных, который использовался для обучения данных. Это более реалистично для реальных проблем. Это означает, что мы знаем результат каждой точки данных в наборе данных, что делает его отличным для тестирования. Поскольку эти данные не использовались для обучения модели, модель не знает результатов этих точек данных. Так что, по сути, это действительно вневыборочное тестирование. Однако не забудьте затем обучить свою модель с помощью набора для тестирования, так как вы не хотите потерять потенциально ценные данные. Проблема с разделением "поезд / тест" заключается в том, что оно сильно зависит от наборов данных, на которых данные были обучены и протестированы. Вариация этого приводит к тому, что разделение на обучение / тест дает лучшее прогнозирование вне выборки, чем обучение и тестирование на одном и том же наборе данных, но у него все еще есть некоторые проблемы из-за этой зависимости.
Другая модель оценки, называемая K-кратной перекрестной проверкой, решает большинство этих проблем. Как исправить высокую вариативность, вызванную зависимостью? Ну, вы это усреднили. Позвольте мне объяснить основную концепцию K-кратной перекрестной проверки, чтобы увидеть, как мы можем решить эту проблему.
Весь набор данных представлен точками на изображении в верхнем левом углу. Если у нас K равно четырем складкам, мы разбиваем этот набор данных, как показано здесь. Например, в первом случае мы используем первые 25 процентов набора данных для тестирования, а остальные - для обучения. Модель строится с использованием обучающей выборки и оценивается с помощью тестовой выборки. Затем, в следующем раунде или во втором цикле, вторые 25 процентов набора данных используются для тестирования, а остальные - для обучения модели. Опять же, рассчитывается точность модели. Продолжаем для всех складок. Наконец, результат всех четырех оценок усредняется. То есть точность каждой кратности затем усредняется, имея в виду, что каждая кратность индивидуальна, где никакие обучающие данные в одной кратности не используются в другой. K-кратная перекрестная проверка в простейшей форме выполняет несколько разделений поездов / тестов с использованием одного и того же набора данных, причем каждое разделение отличается. Затем результат усредняется, чтобы обеспечить более стабильную точность вне выборки.