本文簡要介紹python語言中 sklearn.decomposition.FactorAnalysis
的用法。
用法:
class sklearn.decomposition.FactorAnalysis(n_components=None, *, tol=0.01, copy=True, max_iter=1000, noise_variance_init=None, svd_method='randomized', iterated_power=3, rotation=None, random_state=0)
因子分析(FA)。
具有高斯潛變量的簡單線性生成模型。
假設觀察結果是由低維潛在因子的線性變換和添加的高斯噪聲引起的。在不失一般性的情況下,因子根據具有零均值和單位協方差的高斯分布。噪聲也是零均值並且具有任意對角協方差矩陣。
如果我們進一步限製模型,假設高斯噪聲甚至是各向同性的(所有對角線條目都相同),我們將獲得
PPCA
。FactorAnalysis 使用基於 SVD 的方法對所謂的
loading
矩陣執行最大似然估計,將潛在變量轉換為觀測變量。在用戶指南中閱讀更多信息。
- n_components:整數,默認=無
潛在空間的維度,在
transform
之後得到的X
的分量數。如果沒有,n_components 設置為特征數。- tol:浮點數,默認=1e-2
停止對對數似然增加的容忍。
- copy:布爾,默認=真
是否複製 X。如果是
False
,則輸入 X 在擬合期間被覆蓋。- max_iter:整數,默認=1000
最大迭代次數。
- noise_variance_init:ndarray 形狀 (n_features,),默認 = 無
每個特征的噪聲方差的初始猜測。如果沒有,它默認為 np.ones(n_features)。
- svd_method:{‘lapack’, ‘randomized’},默認='隨機'
使用哪種 SVD 方法。如果 ‘lapack’ 使用來自 scipy.linalg 的標準 SVD,如果 ‘randomized’ 使用快速
randomized_svd
函數。默認為‘randomized’。對於大多數應用,‘randomized’ 將足夠精確,同時提供顯著的速度增益。通過為iterated_power
設置更高的值也可以提高準確性。如果這還不夠,為了獲得最大精度,您應該選擇‘lapack’。- iterated_power:整數,默認=3
冪方法的迭代次數。 3 默認。僅在
svd_method
等於 ‘randomized’ 時使用。- rotation:{‘varimax’, ‘quartimax’},默認=無
如果不是無,則應用指示的旋轉。目前,實現了 varimax 和 quartimax。看“因子分析中解析旋轉的最大方差標準”H. F. 凱撒,1958 年。
- random_state:int 或 RandomState 實例,默認=0
僅當
svd_method
等於‘randomized’時使用。傳遞 int 以獲得跨多個函數調用的可重現結果。請參閱術語表。
- components_:ndarray 形狀(n_components,n_features)
具有最大方差的組件。
- loglike_:形狀列表(n_iterations,)
每次迭代的對數似然。
- noise_variance_:ndarray 形狀 (n_features,)
每個特征的估計噪聲方差。
- n_iter_:int
運行的迭代次數。
- mean_:ndarray 形狀 (n_features,)
Per-feature 經驗平均值,根據訓練集估計。
- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。
參數:
屬性:
參考:
- David Barber,貝葉斯推理和機器學習,算法 21.1。
- Christopher M. Bishop:模式識別和機器學習,第 12.2.4 章。
例子:
>>> from sklearn.datasets import load_digits >>> from sklearn.decomposition import FactorAnalysis >>> X, _ = load_digits(return_X_y=True) >>> transformer = FactorAnalysis(n_components=7, random_state=0) >>> X_transformed = transformer.fit_transform(X) >>> X_transformed.shape (1797, 7)
相關用法
- Python sklearn FastICA用法及代碼示例
- Python sklearn FeatureUnion用法及代碼示例
- Python sklearn FeatureAgglomeration用法及代碼示例
- Python sklearn FeatureHasher用法及代碼示例
- Python sklearn FunctionTransformer用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
- Python sklearn GridSearchCV用法及代碼示例
- Python sklearn log_loss用法及代碼示例
- Python sklearn r2_score用法及代碼示例
- Python sklearn ndcg_score用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
- Python sklearn load_svmlight_file用法及代碼示例
- Python sklearn make_pipeline用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.decomposition.FactorAnalysis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。