嗨,我有一个很好的代码理论问题。
我正在从sklearn将PCA运行到load_breast_cancer数据集。运行PCA之后,我根据前两个主要成分对数据进行绘制,并且我知道我可以通过原始load_breast_cancer数据集中的一个键(即“目标”)为数据点着色。
我特别关注的代码是在我绘制并编写“ c = cancer ['target']”时。特别是由于x_pca是形状为(569,2)的numpy.ndarray,如何在所有PCA和缩放中保留“目标”列?
下面的代码:
import matplotlib.pyplot as plt import pandas as pd import numpy as np import seaborn as sns %matplotlib inline #importing dataset from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() df = pd.DataFrame(cancer['data'],columns=cancer['feature_names']) #scalling scaler = StandardScaler() scaler.fit(df) scaled_data = scaler.transform(df) # PCA from sklearn.decomposition import PCA pca = PCA(n_components=2) pca.fit(scaled_data) x_pca = pca.transform(scaled_data) #Plotting plt.figure(figsize=(8,6)) #Note that it is an array, not a dataframe so brackets refer to order plt.scatter(x_pca[:,0],x_pca[:,1],c=cancer['target'],cmap='plasma') plt.xlabel('First PC') plt.ylabel('Second PC')
谢谢!
嗨,我对一个运行良好的代码提出了理论上的疑问。我正在从sklearn将PCA运行到load_breast_cancer数据集。运行PCA之后,我根据前两个主体绘制数据...
[似乎您通过管道运行df
,并且df
不包括target
作为列。因此它不会在此过程中进行转换。