首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >components_的学习主元数

components_的学习主元数
EN

Stack Overflow用户
提问于 2020-09-03 02:18:41
回答 1查看 381关注 0票数 0

使用sklearn的PCA:

代码语言:javascript
复制
m = np.random.randn(10, 5)
mod = PCA()
mod.fit_transform(m)

mod.components_将有5个组件,这对我来说很有意义,因为数据中有5个特性。

但是,如果m = np.random.randn(10, 20) mod.components_将包含10个组件

假设mod.components_中的行对应于特性的数量,那么第二个示例中不应该有20个组件吗?难道不应该有和数据中的特性一样多的组件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 02:37:37

来自scikit-学习PCA

代码语言:javascript
复制
n_components : int, None or string
Number of components to keep. if n_components is not set all components are kept:    
n_components == min(n_samples, n_features)

因此,在第一种情况下,min(10,5)=5的输出形状是(5,5),而在第二种情况下,输出形状是(10,20)

代码语言:javascript
复制
from sklearn.decomposition  import *
import numpy as np
m = np.random.randn(10, 5)
mod = PCA()
mod.fit_transform(m)
print(mod.components_.shape) # (5, 5)


m = np.random.randn(10, 20)
mod = PCA()
mod.fit_transform(m)
print(mod.components_.shape) # (10, 20)

特性Vs组件:

假设您有一个数据集,包含名为“年龄”、“性别”、“Risk_Factor”的3列和500行。在这里,功能的数量是3而不是500。实例/观察/构成部分的数目为500。如何能做到每一行都是一个独特的特点,而在这里,年龄,性别或Risk_Factor是独特的特征。希望一切都清楚。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63715876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档