Дискриминантный анализ
class = classify(sample,training,group)
class = classify(sample,training,group,'type')
class = classify(sample,training,group,'type',prior)
[class,err] = classify(...)
[class,err,POSTERIOR] = classify(...)
[class,err,POSTERIOR,logp] = classify(...)
[class,err,POSTERIOR,logp,coeff] = classify(...)
class = classify(sample,training,group) классифицирует каждую строку данных в sample в одну из групп в training. sample и training должны быть матрицы с одинаковым числом столбцов. group сгруппированная переменная для training. Его уникальные значения задают группы; каждый элемент задает группу к который соответствующая строка training принадлежит. group может быть категориальная переменная, числовой вектор, символьный массив, массив строк или массив ячеек из символьных векторов. training и group должен иметь одинаковое число строк. classify обработки <undefined> значения, NaNs, пустые символьные вектора, пустые строки и <missing> представьте значения в виде строки в group как пропускающий значения данных, и игнорирует соответствующие строки training. Выход class указывает на группу к который каждая строка sample был присвоен и имеет тот же тип как group.
class = classify(sample,training,group,' позволяет вам задавать тип дискриминантной функции. Задайте type')type в одинарных кавычках. type один из:
linear — Соответствует многомерной нормальной плотности к каждой группе, с объединенной оценкой ковариации. Это значение по умолчанию.
diaglinear — Подобно linear, но с диагональной оценкой ковариационной матрицы (наивные классификаторы Байеса).
quadratic — Соответствует многомерной нормальной плотности оценками ковариации, расслоенными группой.
diagquadratic — Подобно quadratic, но с диагональной оценкой ковариационной матрицы (наивные классификаторы Байеса).
mahalanobis — Использование расстояния Mahalanobis со стратифицированными оценками ковариации.
class = classify(sample,training,group,' позволяет вам задавать априорные вероятности для групп. type',prior)prior один из:
Числовой вектор та же длина как количество уникальных значений в group (или количество уровней задано для group, если group iscategorical. Если group является числовым или категориальным, порядок prior должен соответствовать упорядоченным значениям в group. В противном случае, порядок prior должен соответствовать порядку первого вхождения значений в group.
Структура 1 на 1 с полями:
prob — Числовой вектор.
group — Из того же типа как group, содержа уникальные значения, указывающие на группы, к который элементы prob соответствовать.
Как структура, prior может содержать группы, которые не появляются в group. Это может быть полезно если training подмножество больший набор обучающих данных. classify игнорирует любые группы, которые появляются в структуре, но не в group массив.
Вектор символов или строковый скаляр 'empirical', указание, что априорные вероятности группы должны быть оценены от частот родственника группы в training.
prior значения по умолчанию к числовому вектору равных вероятностей, т.е. равномерное распределение. prior не используется в дискриминации расстоянием Mahalanobis, за исключением вычисления коэффициента ошибок.
[class,err] = classify(...) также возвращает оценку err из misclassification коэффициента ошибок на основе training данные. classify возвращает очевидный коэффициент ошибок, т.е. процент наблюдений в training это неправильно классифицируется, взвешивается априорными вероятностями для групп.
[class,err,POSTERIOR] = classify(...) также возвращает матричный POSTERIOR из оценок апостериорных вероятностей, что j th учебная группа был источником i th демонстрационное наблюдение, т.е. Pr (group j |obs i). POSTERIOR не вычисляется для дискриминации Mahalanobis.
[class,err,POSTERIOR,logp] = classify(...) также возвращает векторный logp содержа оценки логарифмов безусловной прогнозирующей плотности вероятности демонстрационных наблюдений, p (obs i) = ∑p (obs i |group j) Pr (group j) по всем группам. logp не вычисляется для дискриминации Mahalanobis.
[class,err,POSTERIOR,logp,coeff] = classify(...) также возвращает массив структур coeff содержа коэффициенты пограничных кривых между парами групп. Каждый элемент coeff(I,J) содержит информацию для сравнения группы I сгруппировать J в следующих полях:
type — Тип дискриминантной функции, от type входной параметр.
name1 — Имя первой группы.
name2 — Имя второй группы.
const — Постоянный срок граничного уравнения (K)
linear — Линейные коэффициенты граничного уравнения (L)
quadratic — Квадратичная матрица коэффициентов граничного уравнения (Q)
Для linear и diaglinear типы, quadratic поле отсутствует, и строка x от sample массив классифицируется в группу I вместо того, чтобы группировать J если 0 < K+x*L. Для других типов, x классифицируется в группу I если 0 < K+x*L+x*Q*x'.
fitcdiscr функция также выполняет дискриминантный анализ. Можно обучить классификатор при помощи fitcdiscr функционируйте и предскажите метки новых данных при помощи predict функция. fitcdiscr перекрестная проверка поддержек и гипероптимизация параметров управления и не требуют, чтобы вы соответствовали классификатору каждый раз, когда вы делаете новое предсказание, или вы изменяете априорные вероятности.
[1] Крзановский, W. J. Принципы многомерного анализа: перспектива пользователя. Нью-Йорк: Издательство Оксфордского университета, 1988.
[2] Seber, G. A. F. Многомерные наблюдения. Хобокен, NJ: John Wiley & Sons, Inc., 1984.