predict

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

    Описание

    пример

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

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

    Примеры

    свернуть все

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

    Случайным образом сгенерируйте 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];

    Подгонка помечает к непомеченным данным при помощи полуконтролируемого основанного на графике метода. Задайте метку, распространяющуюся как алгоритм маркировки, и используйте автоматически выбранный масштабный коэффициент ядра. Функциональный fitsemigraph возвращает SemiSupervisedGraphModel возразите чей FittedLabels свойство содержит подходящие метки для непомеченных данных и чей LabelScores свойство содержит связанные оценки метки.

    Mdl = fitsemigraph(labeledX,Y,unlabeledX,'Method','labelspreading', ...
        'KernelScale','auto')
    Mdl = 
      SemiSupervisedGraphModel with properties:
    
                 FittedLabels: [300x1 double]
                  LabelScores: [300x3 double]
                   ClassNames: [1 2 3]
                 ResponseName: 'Y'
        CategoricalPredictors: []
                       Method: 'labelspreading'
    
    
      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 функция SemiSupervisedGraphModel объект. Сравните истинные метки с предсказанными метками при помощи матрицы беспорядка.

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

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

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

    свернуть все

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

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

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

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

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

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

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

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

    Если вы устанавливаете 'Standardize',true \in fitsemigraph обучать Mdl, затем программное обеспечение стандартизирует столбцы X использование соответствующих средних значений и стандартных отклонений вычисляется на обучающих данных.

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

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

    свернуть все

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

    Для получения дополнительной информации о как predict предсказывает метки класса, см. Алгоритмы.

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

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

    Для получения дополнительной информации о как predict предсказывает баллы класса, см. Алгоритмы.

    Больше о

    свернуть все

    График подобия

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

    Если попарное расстояние Disti,j между какими-либо двумя узлами i и j положительны (или больше, чем определенный порог), то график подобия соединяет эти два узла с помощью ребра. Ребро между этими двумя узлами взвешивается попарным подобием Si,j, где Si,j=exp((Disti,jσ)2), поскольку заданное ядро масштабирует значение σ.

    Матрица подобия

    Матрица подобия является матричным представлением графика подобия. n-by-n матрица S=(Si,j)i,j=1,,n содержит попарные значения подобия между связанными узлами в графике подобия. Матрица подобия графика также называется матрицей смежности.

    Матрица подобия симметрична, потому что ребра графика подобия бесцельны. Значение Si,j = 0 средние значения, что узлы i и j графика подобия не соединяются.

    Алгоритмы

    Соответствовать меткам к непомеченным обучающим данным, fitsemigraph создает график подобия и с помеченными и с непомеченными наблюдениями как узлы и распределяет информацию о метке от помеченных наблюдений до непомеченных наблюдений или при помощи распространения метки или распространения метки. Получившийся SemiSupervisedGraphModel объектно-ориентированная память подходящие метки и музыка метки к непомеченным данным в его FittedLabels и LabelScores свойства, соответственно.

    Предсказать метку нового наблюдения x, predict функционируйте использует взвешенное среднее соседних баллов наблюдения, чтобы вычислить музыку метки к x, а именно, Fx=j=1nS(x,xj)Fxjj=1nS(x,xj).

    • n является количеством наблюдений в обучающих данных.

    • Fxj является вектором-строкой из музыки метки к учебному наблюдению xj (или узел j). Для получения дополнительной информации о расчете музыки метки к учебным наблюдениям см. Алгоритмы.

    • S (x, xj) является попарным подобием между новым наблюдением x и учебным наблюдением xj, где S (xi, xj) = Si,j как задан в Графике Подобия.

    Столбец с максимальным счетом в Fx соответствует предсказанной метке класса для x. Для получения дополнительной информации см. [1].

    Ссылки

    [1] Delalleau, Оливье, Иосуа Бенхио и Николя Ле Ру. “Эффективная непараметрическая функциональная индукция в полуконтролируемом изучении”. Продолжения десятого международного семинара на искусственном интеллекте и статистике. 2005.

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

    |

    Введенный в R2020b