在不使用"内部"API的情况下获取scikit-learn PCA上的组件

use*_*639 2 python pca scikit-learn

运行sklearn.decomposition.PCA.fit()一些数据后,我想得出组件向量.有一个成员变量,PCA.components_但AFAIK末尾的下划线表示它不是公共API的一部分.是否有获取组件的公共方式?

我尝试过使用PCA.inverse_transform(np.eye(n_components))但它只给了我第一个组件的n_components副本.

zer*_*323 7

你可以放心使用PCA.components_.正如您可以阅读贡献指南

估计属性

从数据估计的属性必须始终具有以尾随下划线结尾的名称,例如,某些回归估计器的系数将在被调用coef_后存储在属性中fit().

一般来说,Python中只使用单个前导下划线来标​​记供内部使用的对象.您可以在PEP8 - 命名约定中阅读更多内容