exponenta event banner

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

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

Совет

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

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

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

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

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

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

  3. На вкладке Обучающийся регрессии в разделе Файл выберите Создать сеанс > Из рабочей области.

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

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

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

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

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

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

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

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

    Совет

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

Примечание

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

Для получения дополнительной информации см. раздел Модели регрессии в приложении для учащихся с регрессией.

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

  1. На вкладке «Обучающийся регрессии» в разделе «Файл» выберите «Новый сеанс» > «Из файла».

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

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

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

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

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

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

Создание таблицы из переменных в 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));

Выбрать схему проверки

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

Совет

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

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

  • Перекрестная проверка: выберите количество складок (или секций) для разделения набора данных.

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

    1. Разделение данных на k непересекающихся наборов или складок

    2. Для каждой гибки проверки:

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

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

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

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

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

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

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

Примечание

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

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

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

Для получения дополнительной информации о моделях обучения см. раздел Модели регрессии в приложении для учащихся с регрессией.

Связанные темы