我有一个理论上的问题,来自一个运行良好的代码。我正在对 sklearn 的 load_breast_cancer 数据集运行 PCA。运行 PCA 后,我根据前两个主要成分绘制数据,我知道我可以通过原始 load_breast_cancer 数据集中的一个键为数据点着色,即“目标”。我特别关心的代码是当我绘制并编写“c=cancer['target']”时。由于 x_pca 是形状为 (569, 2) 的 numpy.ndarray,如何通过所有 PCA 保留“目标”列并特别缩放?代码如下:import matplotlib.pyplot as pltimport pandas as pdimport numpy as npimport seaborn as sns%matplotlib inline#importing datasetfrom sklearn.datasets import load_breast_cancercancer = load_breast_cancer()df = pd.DataFrame(cancer['data'],columns=cancer['feature_names'])#scallingscaler = StandardScaler()scaler.fit(df)scaled_data = scaler.transform(df)# PCAfrom sklearn.decomposition import PCApca = PCA(n_components=2)pca.fit(scaled_data)x_pca = pca.transform(scaled_data)#Plottingplt.figure(figsize=(8,6))#Note that it is an array, not a dataframe so brackets refer to orderplt.scatter(x_pca[:,0],x_pca[:,1],c=cancer['target'],cmap='plasma')plt.xlabel('First PC')plt.ylabel('Second PC')
添加回答
举报
0/150
提交
取消