当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn LinearDiscriminantAnalysis用法及代码示例


本文简要介绍python语言中 sklearn.discriminant_analysis.LinearDiscriminantAnalysis 的用法。

用法:

class sklearn.discriminant_analysis.LinearDiscriminantAnalysis(solver='svd', shrinkage=None, priors=None, n_components=None, store_covariance=False, tol=0.0001, covariance_estimator=None)

线性判别分析。

具有线性决策边界的分类器,通过将类条件密度拟合到数据并使用贝叶斯规则生成。

假设所有类共享相同的协方差矩阵,该模型将高斯密度拟合到每个类。

拟合模型还可用于通过使用transform 方法将输入投影到最具辨别力的方向来降低输入的维数。

在用户指南中阅读更多信息。

参数

solver{‘svd’, ‘lsqr’, ‘eigen’},默认='svd'
使用的求解器,可能的值:
  • ‘svd’:奇异值分解(默认)。不计算协方差矩阵,因此建议将此求解器用于具有大量特征的数据。
  • ‘lsqr’:最小二乘解。可以与收缩或自定义协方差估计器结合使用。
  • ‘eigen’:特征值分解。可以与收缩或自定义协方差估计器结合使用。
shrinkage‘auto’ 或浮点数,默认=无
收缩参数,可能的值:
  • 无:无收缩(默认)。
  • ‘auto’:使用Ledoit-Wolf 引理自动收缩。
  • 在 0 和 1 之间浮点数:固定收缩参数。

如果使用 covariance_estimator,则应将其保留为 None。请注意,收缩仅适用于 ‘lsqr’ 和 ‘eigen’ 解算器。

priors形状类似数组 (n_classes,),默认=无

类先验概率。默认情况下,类比例是从训练数据中推断出来的。

n_components整数,默认=无

用于降维的组件数 (<= min(n_classes - 1, n_features))。如果没有,将设置为 min(n_classes - 1, n_features)。此参数仅影响transform 方法。

store_covariance布尔,默认=假

如果为 True,当求解器为 ‘svd’ 时,显式计算加权 within-class 协方差矩阵。总是为其他求解器计算和存储矩阵。

tol浮点数,默认=1.0e-4

X 的奇异值被视为显著的绝对阈值,用于估计 X 的等级。奇异值不显著的维度将被丢弃。仅在求解器为 ‘svd’ 时使用。

covariance_estimator协方差估计器,默认=无

如果不是 None,covariance_estimator 用于估计协方差矩阵,而不是依赖经验协方差估计器(具有潜在的收缩)。该对象应该有一个 fit 方法和一个 covariance_ 属性,就像 sklearn.covariance 中的估计器一样。如果 None 收缩参数驱动估计。

如果使用 shrinkage,则应将其保留为 None。请注意,covariance_estimator 仅适用于 ‘lsqr’ 和 ‘eigen’ 求解器。

属性

coef_ndarray 形状 (n_features,) 或 (n_classes, n_features)

权重向量。

intercept_ndarray 形状 (n_classes,)

截取项。

covariance_形状类似数组 (n_features, n_features)

加权within-class协方差矩阵。它对应于 sum_k prior_k * C_k 其中 C_k 是类 k 中样本的协方差矩阵。 C_k 是使用(可能缩小的)有偏的协方差估计量估计的。如果求解器为‘svd’,则仅在store_covariance 为 True 时存在。

explained_variance_ratio_ndarray 形状 (n_components,)

每个选定组件解释的方差百分比。如果未设置n_components,则存储所有分量,解释方差之和等于 1.0。仅在使用 eigen 或 svd 求解器时可用。

means_形状类似数组 (n_classes, n_features)

Class-wise 表示。

priors_形状类似数组 (n_classes,)

类先验(总和为 1)。

scalings_形状类似数组(等级,n_classes - 1)

类质心所跨越的空间中特征的缩放。仅适用于‘svd’ 和‘eigen’ 解算器。

xbar_形状类似数组 (n_features,)

总体平均。仅当求解器为 ‘svd’ 时才存在。

classes_形状类似数组 (n_classes,)

唯一的类标签。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

例子

>>> import numpy as np
>>> from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
>>> 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 = LinearDiscriminantAnalysis()
>>> clf.fit(X, y)
LinearDiscriminantAnalysis()
>>> print(clf.predict([[-0.8, -1]]))
[1]

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.discriminant_analysis.LinearDiscriminantAnalysis。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。