为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我可以调用原始数据中的键来绘制 PCA numpy.ndarray?

为什么我可以调用原始数据中的键来绘制 PCA numpy.ndarray?

MYYA 2023-01-04 15:55:40
我有一个理论上的问题,来自一个运行良好的代码。我正在对 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')
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

似乎您df通过管道运行,并且df不包含target在列中。所以它在这个过程中没有被转化。



查看完整回答
反对 回复 2023-01-04
  • 1 回答
  • 0 关注
  • 55 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信