本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。