2015-11-05 197 views
0

我对虹膜数据进行了PCA练习。这里是我的代码:使用Python绘制包含原始数据和散点图的PCA结果

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
import numpy as np 
import matplotlib.pyplot as plt 
from matplotlib import style 
style.use("ggplot") 
from sklearn.cluster import KMeans 
from sklearn.preprocessing import StandardScaler 
from sklearn.decomposition import PCA # as sklearnPCA 
import pandas as pd 
#================= 
df = pd.read_csv('iris.csv'); 
# Split the 1st 4 columns comprising values 
# and the last column that has species 
X = df.ix[:,0:4].values 
y = df.ix[:,4].values 

X_std = StandardScaler().fit_transform(X); # standardization of data 

# Fit the model with X_std and apply the dimensionality reduction on X_std. 
pca = PCA(n_components=2) # 2 PCA components; 
Y_pca = pca.fit_transform(X_std) 

# How to plot my results???? I am struck here! 

请告知如何绘制我的原始虹膜数据和使用散点图派生的PCA。

+0

请格式化您的文章请!你甚至没有看过它吗? – Julien

回答

2

这是我认为你可以想象它的方式。我将把PC1放在Y轴上的X轴和PC2上,并根据类别为每个点着色。这里是代码:

#first we need to map colors on labels 
dfcolor = pd.DataFrame([['setosa','red'],['versicolor','blue'],['virginica','yellow']],columns=['Species','Color']) 
mergeddf = pd.merge(df,dfcolor) 

#Then we do the graph 
plt.scatter(Y_pca[:,0],Y_pca[:,1],color=mergeddf['Color']) 
plt.show() 
+0

谢谢。有用。 :) – Birdie

相关问题