當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。