本文簡要介紹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]
相關用法
- Python sklearn LinearRegression用法及代碼示例
- Python sklearn LinearSVR用法及代碼示例
- Python sklearn LinearSVC用法及代碼示例
- Python sklearn LarsCV用法及代碼示例
- Python sklearn Lars用法及代碼示例
- Python sklearn LocalOutlierFactor.kneighbors_graph用法及代碼示例
- Python sklearn LeavePOut用法及代碼示例
- Python sklearn Lasso用法及代碼示例
- Python sklearn LabelPropagation用法及代碼示例
- Python sklearn LassoLars用法及代碼示例
- Python sklearn LeaveOneOut用法及代碼示例
- Python sklearn LogisticRegression用法及代碼示例
- Python sklearn LassoLarsIC用法及代碼示例
- Python sklearn LocallyLinearEmbedding用法及代碼示例
- Python sklearn LedoitWolf用法及代碼示例
- Python sklearn LassoCV.path用法及代碼示例
- Python sklearn LogisticRegressionCV用法及代碼示例
- Python sklearn LassoCV用法及代碼示例
- Python sklearn LabelSpreading用法及代碼示例
- Python sklearn LabelEncoder用法及代碼示例
- Python sklearn LocalOutlierFactor.kneighbors用法及代碼示例
- Python sklearn LabelBinarizer用法及代碼示例
- Python sklearn LassoLarsCV用法及代碼示例
- Python sklearn LatentDirichletAllocation用法及代碼示例
- Python sklearn Lasso.path用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.discriminant_analysis.LinearDiscriminantAnalysis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。