QuadraticDiscriminantAnalysis
- classsklearn.discriminant_analysis.QuadraticDiscriminantAnalysis(*, priors=None, reg_param=0.0, store_covariance=False, tol=0.0001)[source]
-
Квадратичный дискриминантный анализ.
Классификатор с квадратичной границей принятия решений, созданный путём подгонки условных плотностей классов к данным и использования правила Байеса.
Модель подгоняет гауссову плотность для каждого класса.
Добавлена в версии 0.17.
Для сравнения между
QuadraticDiscriminantAnalysisиLinearDiscriminantAnalysis, см. Линейный и квадратичный дискриминантный анализ с эллипсами ковариации.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- priorsмассив-подобный объекта типа (n_classes,), по умолчанию=None
-
Априорные вероятности классов. По умолчанию, пропорции классов выводятся из обучающих данных.
- reg_paramвещественное число, по умолчанию=0.0
-
Регуляризует оценки ковариаций по классам путём преобразования S2 как
S2 = (1 - reg_param) * S2 + reg_param * np.eye(n_features), где S2 соответствует атрибутуscaling_заданного класса. - store_covariancebool, по умолчанию=False
-
Если True, матрицы ковариаций классов вычисляются явно и хранятся в атрибуте
self.covariance_.Добавлена в версии 0.17.
- tolвещественное число, по умолчанию=1.0e-4
-
Абсолютный порог для матрицы ковариации, чтобы считаться недостающей рангом после применения некоторой регуляризации (см.
reg_param) к каждойSk, гдеSkпредставляет матрицу ковариации k-го класса. Этот параметр не влияет на прогнозы. Он контролирует, когда выводится предупреждение, если матрица ковариации не имеет полного ранга.Добавлена в версии 0.17.
- Атрибуты:
-
- covariance_список длины n_classes из массивов ndarray формы (n_features, n_features)
-
Для каждого класса даёт матрицу ковариаций, оценённую с использованием выборок этого класса. Оценки несмещённые. Присутствует только если
store_covarianceравно True. - means_массив-подобный объекта типа (n_classes, n_features)
-
Средние значения по классам.
- priors_массив-подобный объекта типа (n_classes,)
-
Априорные вероятности классов (сумма равна 1).
- rotations_список длины n_classes из массивов ndarray формы (n_features, n_k)
-
Для каждого класса k массив формы (n_features, n_k), где
n_k = min(n_features, number of elements in class k)Это поворот гауссовой распределения, т.е. его главные оси. СоответствуетV, матрице собственных векторов, полученных из SVDXk = U S Vt, гдеXk— центрированная матрица выборок из класса k. - scalings_список длины n_classes из массивов ndarray формы (n_k,)
-
Для каждого класса содержит масштабирование гауссовых распределений вдоль его главных осей, т.е. дисперсию в вращаемой системе координат. Соответствует
S^2 / (n_samples - 1), гдеS— диагональная матрица сингулярных значений из SVDXk, гдеXk— центрированная матрица выборок из класса k. - classes_массив ndarray формы (n_classes,)
-
Уникальные метки классов.
- n_features_in_int
-
Количество признаков, наблюдаемых во время fit.
Добавлена в версии 0.24.
-
feature_names_in_массив ndarray формы (
n_features_in_,) -
Названия признаков, наблюдаемых во время fit. Определяются только тогда, когда у
Xесть имена признаков, которые являются строками.Добавлена в версии 1.0.
См. также
LinearDiscriminantAnalysis-
Линейный дискриминантный анализ.
Примеры
>>> from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis >>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) >>> y = np.array([1, 1, 1, 2, 2, 2]) >>> clf = QuadraticDiscriminantAnalysis() >>> clf.fit(X, y) QuadraticDiscriminantAnalysis() >>> print(clf.predict([[-0.8, -1]])) [1]
- decision_function(X)[source]
-
Применение функции принятия решения к массиву выборок.
Функция принятия решения равна (с точностью до постоянного множителя) логарифмической апостериорной вероятности модели, т.е.
log p(y = k | x). В случае бинарной классификации это вместо соответствует разностиlog p(y = 1 | x) - log p(y = 0 | x). См. Математическая формулировка классификаторов LDA и QDA.- Параметры:
-
- Xмассив-подобный объекта типа (n_samples, n_features)
-
Массив выборок (тестовых векторов).
- Возвращает:
-
- Cмассив ndarray формы (n_samples,) или (n_samples, n_classes)
-
Значения функции принятия решения, относящиеся к каждому классу для каждой выборки. В случае двух классов форма —
(n_samples,), дающая отношение логарифмов правдоподобия положительного класса.
- fit(X, y)[source]
-
Обучение модели по заданным обучающим данным и параметрам.
Изменено в версии 0.19:
store_covariancesперемещено в основной конструктор какstore_covariance.Изменено в версии 0.19:
tolперемещено в основной конструктор.- Параметры:
-
- Xмассив-подобный объекта типа (n_samples, n_features)
-
Вектор обучающих данных, где
n_samples— количество выборок, аn_features— количество признаков. - yмассив-подобный объекта типа (n_samples,)
-
Значения целевой переменной (целые числа).
- Возвращает:
-
- selfобъект
-
Обученный оценщик.
- get_metadata_routing()[source]
-
Получить метаданные маршрутизации этого объекта.
Пожалуйста, обратитесь к Руководству пользователя по работе механизма маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequestencapsulating routing information.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Названия параметров, сопоставленные со значениями.
- predict(X)[source]
-
Выполнить классификацию на наборе тестовых векторов X.
Возвращается предсказанный класс C для каждого образца в X.
- Параметры:
-
- Xarray-like из shape (n_samples, n_features)
-
Вектор, который необходимо оценить, где
n_samples— количество образцов, аn_features— количество признаков.
- Возвращает:
-
- Cndarray из shape (n_samples,)
-
Оценённые вероятности.
- predict_log_proba(X)[source]
-
Возвращает логарифм апостериорных вероятностей классификации.
- Параметры:
-
- Xarray-like из shape (n_samples, n_features)
-
Массив образцов/тестовых векторов.
- Возвращает:
-
- Cndarray из shape (n_samples, n_classes)
-
Логарифмы апостериорных вероятностей классификации по каждому классу.
- predict_proba(X)[source]
-
Возвращает апостериорные вероятности классификации.
- Параметры:
-
- Xarray-like из shape (n_samples, n_features)
-
Массив образцов/тестовых векторов.
- Возвращает:
-
- Cndarray из shape (n_samples, n_classes)
-
Апостериорные вероятности классификации по каждому классу.
- score(X, y, sample_weight=None)[source]
-
Возвращает среднюю точность на заданных тестовых данных и метках.
При многоклассовой классификации это подмножество точности, которое является жёсткой метрикой, поскольку для каждого образца требуется, чтобы каждый набор меток был предсказан правильно.
- Параметры:
-
- Xarray-like из shape (n_samples, n_features)
-
Тестовые образцы.
- yarray-like из shape (n_samples,) или (n_samples, n_outputs)
-
Истинные метки для
X. - sample_weightarray-like из shape (n_samples,), по умолчанию=None
-
Веса образцов.
- Возвращает:
-
- scorefloat
-
Средняя точность
self.predict(X)по отношению кy.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает как с простыми оценщиками, так и со вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>для возможности обновления каждого компонента вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') QuadraticDiscriminantAnalysis[source]
-
Запрос метаданных, передаваемых методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, ознакомьтесь с Руководством пользователя для понимания принципов работы механизма маршрутизации.Возможные значения для каждого параметра:
-
True: запрашиваются метаданные, и передаются методуscore, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-эстиматор не передаст их методуscore. -
None: метаданные не запрашиваются, и мета-эстиматор выдаст ошибку, если пользователь предоставит их. -
str: метаданные должны передаваться мета-эстиматору с указанным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, не затрагивая другие.Добавлена в версии 1.3.
Примечание
Этот метод актуален только если этот эстиматор используется в качестве под-эстиматора мета-эстиматора, например, внутри
Pipeline. В противном случае он не оказывает никакого влияния.- Параметры:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Возвращает:
-
- selfobject
-
Объект с обновлёнными значениями.
-
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis.html