Python 如何将X定义为列值?
我正在执行PCA分析,得到的组件数量等于样本数量,而不是特征数量。(数据没有标签) 数据在excel中以行:特征、列:样本的形式给出 我转换了数据,然后将X定义为列(特征) 当执行PCA时,我知道PC的#等于功能的数量,但我不明白这一点 Python非常新,请原谅我对这些基础知识的无知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
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个维度的超平面