import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
data = pd.read_csv('sample_data.csv')
data.drop(['year_month', 'specific_time'], axis=1, inplace=True)
scaled_data = (data - data.mean()) / data.std()
pca = PCA(n_components=len(data.columns))
pca.fit(scaled_data)
print('主成分的贡献率为:', pca.explained_variance_ratio_)
print('累计贡献率为:', np.cumsum(pca.explained_variance_ratio_))
import matplotlib.pyplot as plt
plt.plot(np.cumsum(pca.explained_variance_ratio_))
plt.xlabel('Number of components')
plt.ylabel('Cumulative explained variance')
plt.show()
代码如上
在文件的顶部加上coding试下:
# -*- coding:utf-8 -*-
不知道你这个问题是否已经解决, 如果还没有解决的话: