Spec-Zone.ru › scikit-learn

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, матрице собственных векторов, полученных из SVD Xk = U S Vt, где Xk — центрированная матрица выборок из класса k.

scalings_список длины n_classes из массивов ndarray формы (n_k,)

Для каждого класса содержит масштабирование гауссовых распределений вдоль его главных осей, т.е. дисперсию в вращаемой системе координат. Соответствует S^2 / (n_samples - 1), где S — диагональная матрица сингулярных значений из SVD Xk, где 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

MetadataRequest encapsulating 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API