Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将X定义为列值?_Python_Pca - Fatal编程技术网

Python 如何将X定义为列值?

Python 如何将X定义为列值?,python,pca,Python,Pca,我正在执行PCA分析,得到的组件数量等于样本数量,而不是特征数量。(数据没有标签) 数据在excel中以行:特征、列:样本的形式给出 我转换了数据,然后将X定义为列(特征) 当执行PCA时,我知道PC的#等于功能的数量,但我不明白这一点 Python非常新,请原谅我对这些基础知识的无知 df = pd.read_excel(excel_file) # STEP 1 # Transposing the data data = df.T print('\nData Shape (row, col

我正在执行PCA分析,得到的组件数量等于样本数量,而不是特征数量。(数据没有标签)

数据在excel中以行:特征、列:样本的形式给出

我转换了数据,然后将X定义为列(特征)

当执行PCA时,我知道PC的#等于功能的数量,但我不明白这一点

Python非常新,请原谅我对这些基础知识的无知

df = pd.read_excel(excel_file)

# STEP 1

# Transposing the data
data = df.T
print('\nData Shape (row, columns):', data.shape)

# STEP 2
# Data preprocessing

# Separating out the features
X = data.iloc[:, 0:4001]
print('\nX shape:', X.shape)
print('X size:', X.size)

# Standardizing the features
X_scaled = StandardScaler().fit_transform(X)

# Dimension reduction
pca = PCA()
X_pca = pca.fit_transform(X_scaled)
print('\nNumber of principal components:', pca.n_components_)
输出:

数据形状(行、列):(1204001)

X形:(1204001) X尺寸:480120

主要成分数量:120


谢谢你的帮助

因此,我的代码没有问题。这背后的逻辑是,主成分的数量不能超过样本的数量。您无法将120个样本投影到超过120维的超平面。

因此,我的代码没有问题。这背后的逻辑是,主成分的数量不能超过样本的数量。不能将120个采样投影到超过120个维度的超平面