我试图在这里复制PCA教程的结果(PCA-tutorial),但我有一些问题。在据我所知,我是按照这些步骤来应用PCA的。但我的结果与教程中的不一样(或者可能是这样,我无法正确解释它们?)。当n_components=4时,我得到下面的图n_components4。我可能在某个地方遗漏了一些东西,我还添加了到目前为止的代码。
我的第二个问题是注释图形中的点,我有标签,我希望每个点都得到相应的标签。我试过一些东西,但到目前为止没有成功。
我还添加了数据集,并将其保存为CSV:,Cheese,Carcass meat,Other meat,Fish,Fats and oils,Sugars,Fresh potatoes,Fresh Veg,Other Veg,Processed potatoes,Processed Veg,Fresh fruit,Cereals,Beverages,Soft drinks,Alcoholic drinks,Confectionery
England,105,245,685,147,193,156,720,253,488,198,360,1102,1472,57,1374,375,54
Wales,103,227,803,160,235,175,874,265,570,203,365,1137,1582,73,1256,475,64
Scotland,103,242,750,122,184,147,566,171,418,220,337,957,1462,53,1572,458,62
NIreland,66,267,586,93,209,139,1033,143,355,187,334,674,1494,47,1506,135,41
对这两个问题有什么想法吗?在
`import pandas as pd
import matplotlib.pyplot as plt
from sklearn import decomposition
demo_df = pd.read_csv('uk_food_data.csv')
demo_df.set_index('Unnamed: 0', inplace=True)
target_names = demo_df.index
tran_ne = demo_df.T
pca = decomposition.PCA(n_components=4)
comps = pca.fit(tran_ne).transform(tran_ne)
plt.scatter(comps[0,:], comps[1, :])
plt.title("PCA Analysis UK Food");
plt.xlabel("PC1");
plt.ylabel("PC2");
plt.grid();
plt.savefig('PCA_UK_Food.png', dpi=125)
`