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

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

Совет

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

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

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

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

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

  2. На вкладке Apps нажмите Classification Learner.

  3. В Classification Learner, на вкладке Classification 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-кратной перекрестной валидацией, которая защищает от сверхподбора кривой.

    Совет

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

Примечание

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

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

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

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

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

Примеры данных для классификации

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

ИмяРазмерОписание
Фишер Ирис

Количество предикторов: 4
Количество наблюдений: 150
Количество классов: 3
Ответ: виды

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

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

Составьте таблицу из .csv файл:

fishertable = readtable('fisheriris.csv');

Кредитный рейтинг

Количество предикторов: 6
Количество наблюдений: 3932
Количество классов: 7
Ответ: Рейтинг

Финансовые коэффициенты и отраслевая информация для списка корпоративных клиентов. Переменная ответа состоит из кредитных рейтингов (AAA, AA, A, BBB, BB, B, CCC), присвоенных рейтинговым агентством.

Составьте таблицу из CreditRating_Historical.dat файл:

creditrating = readtable('CreditRating_Historical.dat');

Автомобили

Количество предикторов: 7
Количество наблюдений: 100
Количество классов: 7
Ответ: Источник

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

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

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

Аритмия

Количество предикторов: 279
Количество наблюдений: 452
Количество классов: 16
Ответ: Класс (Y)

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

Составьте таблицу из .mat файл:

load arrhythmia
Arrhythmia = array2table(X);
Arrhythmia.Class = categorical(Y);

Рак яичников

Количество предикторов: 4000
Количество наблюдений: 216
Количество классов: 2
Ответ: Группа

Данные о раке яичников, сгенерированные с использованием WCX2 массива белков. Включает 95 контролей и 121 рак яичников.

Составьте таблицу из .mat файл:

load ovariancancer
ovariancancer = array2table(obs);
ovariancancer.Group = categorical(grp);

Ионосфера

Количество предикторов: 34
Количество наблюдений: 351
Количество классов: 2
Ответ: Группа (Y)

Сигналы от фазированной решетки из 16 высокочастотных антенн. Хорошие («g») возвращенные радиолокационные сигналы являются теми, которые показывают доказательства некоторого типа структуры в ионосфере. Плохими («b») сигналами являются те, которые проходят через ионосферу.

Составьте таблицу из .mat файл:

load ionosphere
ionosphere = array2table(X);
ionosphere.Group = Y;

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

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

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

Для следующих шагов обучающих моделей смотрите Обучите Классификационные модели в Приложении Classification Learner.

Похожие темы