Выберите данные и валидация для задачи регрессии

Выберите данные из рабочей области

Совет

В Regression Learner таблицы являются самым простым способом работать с вашими данными, потому что они могут содержать числовые и метки данных. Используйте Инструмент для импорта, чтобы перенести ваши данные в MATLAB® рабочая область как таблица или используйте функции таблицы для создания table из переменных рабочей области. См. «Таблицы».

  1. Загрузите данные в рабочее пространство MATLAB.

    Переменные предиктора могут быть числовыми, категориальными, строковыми или логическими векторами, массивами ячеек векторов символов или символьными массивами. Переменная отклика должна быть вектором с плавающей точкой (одинарная или двойная точность).

    Объедините данные предиктора в одну переменную, или таблицу, или матрицу. Можно дополнительно объединить данные предиктора и переменную отклика, или можно сохранить их раздельными.

    Например, наборы данных см. Пример данных для регрессии.

  2. На вкладке Apps нажмите Regression Learner, чтобы открыть приложение.

  3. На вкладке Regression Learner, в разделе File, нажмите New Session > From Workspace.

  4. В диалоговом окне New Session from Workspace в разделе Data Set Variable выберите таблицу или матрицу из переменных рабочей области.

    Если вы выбираете матрицу, выберите, использовать ли строки или столбцы для наблюдений, нажав кнопки опций.

  5. В разделе Response наблюдайте переменную отклика по умолчанию. Приложение пытается выбрать подходящую переменную отклика из переменной набора данных и рассматривает все другие переменные как предикторы.

    Если вы хотите использовать другую переменную отклика, можно:

    • Используйте список, чтобы выбрать другую переменную из переменной набора данных.

    • Выберите отдельную переменную рабочей области, нажав кнопку From workspace опция и затем выбрав переменную из списка.

  6. В разделе Predictors, добавляйте или удаляйте предикторы с помощью флажков. Добавьте или удалите все предикторы, нажав Add All или Remove All. Можно также добавить или удалить несколько предикторов, выбрав их в таблице, а затем щелкнув Add N или Remove N, где N количество выбранных предикторов. Кнопки Add All и Remove All изменяются на Add N и Remove N, когда вы выбираете несколько предикторов.

  7. Щелкните Start Session, чтобы принять схему валидации по умолчанию и продолжить. Опция валидации по умолчанию является 5-кратной перекрестной валидацией, которая защищает от сверхподбора кривой.

    Совет

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

Примечание

Если вы предпочитаете загружать данные в приложение непосредственно из командной строки, можно задать данные предиктора, переменную отклика и тип валидации, которые будут использоваться в Regression Learner при вызове командной строки regressionLearner. Для получения дополнительной информации см. раздел Regression Learner.

Для следующих шагов смотрите Обучите Регрессионые Модели в Приложении Regression Learner.

Импорт данных из файла

  1. На вкладке Regression Learner, в разделе File, выберите New Session > From File.

  2. Выберите тип файла в списке, например, электронные таблицы, текстовые файлы или значения, разделенные запятыми (.csv) файлы, или выберите All Files для поиска других типов файлов, таких как .dat.

Пример данных для регрессии

Чтобы начать использовать Regression Learner, попробуйте эти примеры наборов данных.

ИмяРазмерОписание
АвтомобилиКоличество предикторов: 7
Количество наблюдений: 406
Ответ: MPG (мили на галлон)

Данные по различным моделям автомобилей, 1970-1982. Спрогнозируйте расход топлива (в милях на галлон), или одну из других характеристик.

Для пошагового примера смотрите Обучите регрессионые деревья с использованием приложения Regression Learner.

Составьте таблицу из переменных в carbig.mat файл:

load carbig
cartable = table(Acceleration, Cylinders, Displacement,...
Horsepower, Model_Year, Weight, Origin, MPG);

Морское ушкоКоличество предикторов: 8
Количество наблюдений: 4177
Ответ: Rings

Измерения абалона (группа морских улиток). Предсказать возраст абалонов, который тесно связан с количеством звонков в их интерпретаторах.

Загрузите данные из репозитория машинного обучения UCI и сохраните их в текущей папке. Считайте данные в таблицу и задайте имена переменных.

url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data';
websave('abalone.csv',url);
varnames = {'Sex'; 'Length'; 'Diameter'; 'Height'; 'Whole_weight';...
'Shucked_weight'; 'Viscera_weight'; 'Shell_weight'; 'Rings'}; 
abalonetable = readtable('abalone.csv');
abalonetable.Properties.VariableNames = varnames;
БольницаКоличество предикторов: 5
Количество наблюдений: 100
Ответ: BloodPressure_2

Моделируемые данные больницы. Предсказать артериальное давление пациентов.

Составьте таблицу из hospital переменная в hospital.mat файл:

load hospital.mat
hospitaltable = dataset2table(hospital(:,2:end-1));

Выбор схемы валидации

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

Совет

Попробуйте схему валидации по умолчанию и нажмите кнопку Start Session, чтобы продолжить. Опция по умолчанию является 5-кратной перекрестной проверкой, которая защищает от сверхподбора кривой.

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

  • Cross-Validation: Выберите количество складок (или делений), чтобы разбить набор данных.

    Если вы выбираете k складок, то приложение:

    1. Разбивает данные на k несвязанных множества или складок

    2. Для каждой складки валидации:

      1. Обучает модель, используя наблюдения складки обучения (наблюдения не в складке валидации)

      2. Оценивает производительность модели с помощью данных сворачивания

    3. Вычисляет среднюю ошибку валидации по всем складкам

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

  • Holdout Validation: Выберите процент данных для использования в качестве набора валидации. Приложение обучает модель на наборе обучающих данных и оценивает ее эффективность с набором валидации. Модель, используемая для валидации, основана только на фрагменте данных, поэтому валидация удержания подходит только для больших наборов данных. Итоговая модель обучается с использованием полного набора данных.

  • Resubstitution Validation: Нет защиты от сверхподбора кривой. Приложение использует все данные для обучения и вычисляет вероятность ошибок на тех же данных. Без каких-либо отдельных данных валидации вы получаете нереалистичную оценку эффективности модели на новых данных. То есть точность обучающей выборки, вероятно, будет нереально высокой, и прогнозирующая точность, вероятно, будет ниже.

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

Примечание

Схема валидации влияет только на то, как Regression Learner вычисляет метрики валидации. Итоговая модель всегда обучается с использованием полного набора данных.

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

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

Для следующих шагов обучающих моделей смотрите Обучите регрессионые модели в приложении Regression Learner.

Похожие темы