mahal

Расстояние Mahalanobis до средних значений класса

Синтаксис

M = mahal(obj,X)
M = mahal(obj,X,Name,Value)

Описание

M = mahal(obj,X) возвращает расстояния Mahalanobis в квадрате от наблюдений в X к средним значениям класса в obj.

M = mahal(obj,X,Name,Value) вычисляет расстояние Mahalanobis в квадрате с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

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

obj

Классификатор дискриминантного анализа класса ClassificationDiscriminant или CompactClassificationDiscriminant, обычно созданный с fitcdiscr.

X

Числовая матрица размера n-by-p, где p является количеством предикторов в obj и n, является любым положительным целым числом. mahal вычисляет расстояния Mahalanobis от строк X к каждому из средних значений K классов в obj.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'ClassLabels'

Метки класса, состоящие из элементов n obj .Y, где n является количеством строк X.

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

M

Размер и значение вывода M зависят от того, присутствует ли пара "имя-значение" ClassLabels:

  • Никакой ClassLabelsM является числовой матрицей размера n-by-K, где K является количеством классов в obj, и n является количеством строк в X. M(i,j) является расстоянием Mahalanobis в квадрате от i th строка X к среднему значению класса j.

  • ClassLabels существует — M является вектор-столбцом с элементами n. M(i) является расстоянием Mahalanobis в квадрате от i th строка X к среднему значению для класса i th элемент ClassLabels.

Примеры

Найдите расстояния Mahalanobis от среднего значения ирисовых данных Фишера к средним значениям класса, с помощью отличных ковариационных матриц для каждого класса:

load fisheriris
obj = fitcdiscr(meas,species,...
    'DiscrimType','quadratic');
mahadist = mahal(obj,mean(meas))

mahadist =
  220.0667    5.0254   30.5804

Больше о

развернуть все