predict

Пометьте новые данные с помощью полуконтролируемого самообученного классификатора

    Описание

    пример

    label = predict(Mdl,X) возвращает вектор из предсказанных меток класса для данных в таблице или матричном X, на основе полуконтролируемого самообученного классификатора Mdl.

    [label,score] = predict(Mdl,X) также возвращает матрицу баллов, указывающих на вероятность, что метка прибывает из конкретного класса. Для каждого наблюдения в X, предсказанная метка класса соответствует максимальному счету среди всех классов.

    Примеры

    свернуть все

    Используйте и помеченные и непомеченные данные, чтобы обучить SemiSupervisedSelfTrainingModel объект. Пометьте новые данные с помощью обученной модели.

    Случайным образом сгенерируйте 15 наблюдений за маркированными данными с 5 наблюдениями в каждом из трех классов.

    rng('default') % For reproducibility
    labeledX = [randn(5,2)*0.25 + ones(5,2);
                randn(5,2)*0.25 - ones(5,2);
                randn(5,2)*0.5];
    Y = [ones(5,1); ones(5,1)*2; ones(5,1)*3];

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

    unlabeledX = [randn(100,2)*0.25 + ones(100,2);
                  randn(100,2)*0.25 - ones(100,2);
                  randn(100,2)*0.5];

    Подгонка помечает к непомеченным данным при помощи полуконтролируемого самометода обучения. Функциональный fitsemiself возвращает SemiSupervisedSelfTrainingModel возразите чей FittedLabels свойство содержит подходящие метки для непомеченных данных и чей LabelScores свойство содержит связанные оценки метки.

    Mdl = fitsemiself(labeledX,Y,unlabeledX)
    Mdl = 
      SemiSupervisedSelfTrainingModel with properties:
    
                 FittedLabels: [300x1 double]
                  LabelScores: [300x3 double]
                   ClassNames: [1 2 3]
                 ResponseName: 'Y'
        CategoricalPredictors: []
                      Learner: [1x1 classreg.learning.classif.CompactClassificationECOC]
    
    
      Properties, Methods
    
    
    

    Случайным образом сгенерируйте 150 наблюдений за новыми данными с 50 наблюдениями в классе. В целях валидации отслеживайте истинные метки для новых данных.

    newX = [randn(50,2)*0.25 + ones(50,2);
            randn(50,2)*0.25 - ones(50,2);
            randn(50,2)*0.5];
    trueLabels = [ones(50,1); ones(50,1)*2; ones(50,1)*3];

    Предскажите метки для новых данных при помощи predict функция SemiSupervisedSelfTrainingModel объект. Сравните истинные метки с предсказанными метками при помощи матрицы беспорядка.

    predictedLabels = predict(Mdl,newX);
    confusionchart(trueLabels,predictedLabels)

    Figure contains an object of type ConfusionMatrixChart.

    Только 8 из этих 150 наблюдений в newX mislabeled.

    Входные параметры

    свернуть все

    Полуконтролируемый самоучебный классификатор в виде SemiSupervisedSelfTrainingModel объект, возвращенный fitsemiself.

    Данные о предикторе, которые будут классифицированы в виде числовой матрицы или таблицы. Каждая строка X соответствует одному наблюдению, и каждый столбец соответствует одной переменной.

    Если вы обучили Mdl использование матричных данных (X и UnlabeledX в вызове fitsemiself), затем задайте X как числовая матрица.

    • Переменные в столбцах X должен иметь тот же порядок как переменные предикторы, которые обучили Mdl.

    • Программное обеспечение обрабатывает предикторы в X чьи индексы совпадают с Mdl.CategoricalPredictors как категориальные предикторы.

    Если вы обучили Mdl использование табличных данных (Tbl и UnlabeledTbl в вызове fitsemiself), затем задайте X как таблица.

    • Все переменные предикторы в X должен иметь те же имена переменных и типы данных как те, которые обучили Mdl (сохраненный в Mdl.PredictorNames). Однако порядок следования столбцов X не должен соответствовать порядку следования столбцов Tbl. Кроме того, Tbl и X может содержать дополнительные переменные (например, переменные отклика), но predict игнорирует их.

    • predict не поддерживает многостолбцовые переменные или массивы ячеек кроме массивов ячеек из символьных векторов.

    Типы данных: single | double | table

    Выходные аргументы

    свернуть все

    Предсказанные метки класса, возвращенные как категориальное или символьный массив, логический или числовой вектор или массив ячеек из символьных векторов. label имеет совпадающий тип данных, когда подходящий класс маркирует Mdl.FittedLabels, и его длина равна количеству строк в X.

    Предсказанные баллы класса, возвращенные как числовая матрица. score имеет размер m-by-K, где m является количеством наблюдений (или строки) в X и K является количеством классов в Mdl.ClassNames.

    score(m,k) вероятность то наблюдение m в X принадлежит, чтобы классифицировать k, где более высокое значение баллов указывает на более высокую вероятность. Область значений значений баллов зависит от базового классификатора Mdl.Learner.

    Смотрите также

    |

    Введенный в R2020b