QuadraticDiscriminantAnalysis
- classsklearn.discriminant_analysis.QuadraticDiscriminantAnalysis(*, solver='svd', shrinkage=None, priors=None, reg_param=0.0, store_covariance=False, tol=0.0001, covariance_estimator=None)[исходный код]
-
Квадратичный дискриминантный анализ.
Классификатор с квадратичной границей принятия решений, построенный путём подгонки условных плотностей классов к данным и применения правила Байеса.
Модель подгоняет гауссову плотность для каждого класса.
Добавлено в версии 0.17.
Сравнение
QuadraticDiscriminantAnalysisиLinearDiscriminantAnalysisсм. в разделе Линейный и квадратичный дискриминантный анализ с эллипсоидом ковариации.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- solver{‘svd’, ‘eigen’}, по умолчанию=’svd’
-
- Используемый решатель; возможные значения:
-
- ‘svd’: разложение по сингулярным значениям (по умолчанию). Не вычисляет матрицу ковариации, поэтому этот решатель рекомендуется для данных с большим числом признаков.
- ‘eigen’: разложение по собственным значениям. Можно использовать вместе со сжатием или пользовательским оценивателем ковариации.
- shrinkage‘auto’ или число с плавающей точкой, по умолчанию=None
-
- Параметр сжатия; возможные значения:
-
- None: без сжатия (по умолчанию).
- ‘auto’: автоматическое сжатие с использованием леммы Ледуа—Вольфа.
- число с плавающей точкой от 0 до 1: фиксированный параметр сжатия.
Ожидается, что включение сжатия улучшит модель, если в некоторых классах относительно мало обучающих точек по сравнению с числом признаков, поскольку оно снижает переобучение на этапе оценки ковариации.
Если используется
covariance_estimator, этому параметру следует присвоитьNone. Обратите внимание, что сжатие работает только с решателем ‘eigen’. - 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_estimatorоцениватель ковариации, по умолчанию=None
-
Если значение не None, для оценки матриц ковариации используется
covariance_estimatorвместо эмпирического оценивателя ковариации (с возможным сжатием). Объект должен иметь метод fit и атрибутcovariance_, как у оценивателей изsklearn.covariance. Если значение None, оценка определяется параметром сжатия.Если используется
shrinkage, этому параметру следует присвоитьNone. Обратите внимание, чтоcovariance_estimatorработает только с решателем ‘eigen’.
- Атрибуты:
-
- covariance_список из n_classes массивов ndarray формы (n_features, n_features)
-
Для каждого класса содержит матрицу ковариации, оценённую по выборкам этого класса. Оценки являются несмещёнными. Присутствует только при значении True у
store_covariance. - 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)[исходный код]
-
Применяет функцию принятия решений к массиву выборок.
Функция принятия решений равна (с точностью до постоянного множителя) логарифму апостериорной вероятности модели, то есть
log p(y = k | x). В случае бинарной классификации вместо этого она соответствует разностиlog p(y = 1 | x) - log p(y = 0 | x). См. Математическая формулировка классификаторов LDA и QDA.- Параметры:
-
- Xмассивоподобный объект формы (n_samples, n_features)
-
Массив выборок (тестовых векторов).
- Возвращает:
-
- Cndarray формы (n_samples,) или (n_samples, n_classes)
-
Значения функции принятия решений для каждого класса и каждой выборки. В случае двух классов форма равна
(n_samples,)и задаёт логарифм отношения правдоподобия положительного класса.
- fit(X, y)[исходный код]
-
Обучает модель на заданных обучающих данных и параметрах.
Изменено в версии 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()[исходный код]
-
Получает настройки маршрутизации метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в Руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получает параметры этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценивателя и содержащихся в нём подобъектов, являющихся оценивателями.
- Возвращает:
-
- paramsdict
-
Имена параметров и соответствующие им значения.
- predict(X)[исходный код]
-
Выполняет классификацию массива векторов
X.Возвращает метку класса для каждой выборки.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Входные векторы, где
n_samples— число выборок, аn_features— число признаков.
- Возвращает:
-
- y_predndarray формы (n_samples,)
-
Метка класса для каждой выборки.
- predict_log_proba(X)[исходный код]
-
Оценивает логарифмы вероятностей классов.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- y_log_probandarray формы (n_samples, n_classes)
-
Оценённые логарифмы вероятностей.
- predict_proba(X)[исходный код]
-
Оценивает вероятности классов.
- Параметры:
-
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Входные данные.
- Возвращает:
-
- y_probandarray формы (n_samples, n_classes)
-
Оценка вероятности принадлежности выборки к каждому классу модели; классы упорядочены так же, как в
self.classes_.
- score(X, y, sample_weight=None)[исходный код]
-
Возвращает точность на предоставленных данных и метках.
В многометочной классификации это точность по подмножествам — строгая метрика, поскольку для каждой выборки требуется правильно предсказать весь набор меток.
- Параметры:
-
- Xмассивоподобный объект формы (n_samples, n_features)
-
Тестовые выборки.
- yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs)
-
Истинные метки для
X. - sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None
-
Веса выборок.
- Возвращает:
-
- scoreчисло с плавающей точкой
-
Средняя точность
self.predict(X)относительноy.
- set_params(**params)[исходный код]
-
Задаёт параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') QuadraticDiscriminantAnalysis[исходный код]
-
Настраивает, следует ли запрашивать передачу метаданных методу
score.Обратите внимание, что этот метод имеет значение только тогда, когда данный оцениватель используется как вложенный оцениватель внутри метаоценивателя и включена маршрутизация метаданных с помощью
enable_metadata_routing=True(см.sklearn.set_config). О том, как работает механизм маршрутизации, см. в Руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вscore, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоцениватель не передаёт их вscore. -
None: метаданные не запрашиваются, и метаоцениватель выдаст ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться метаоценивателю под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для одних параметров, не затрагивая остальные.Добавлено в версии 1.3.
- Параметры:
-
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Настройка маршрутизации метаданных для параметра
sample_weightвscore.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis.html