pca2
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('iris.csv',names=["sepal_length","sepal_width", "petal_length","petal_width","target"])
from sklearn.preprocessing import StandardScaler
features=["sepal_length","sepal_width", "petal_length","petal_width"]
print(features)
X=df.iloc[:,:-1].values
y=df.iloc[:,-1].values
X=StandardScaler().fit_transform(X)
from sklearn.decomposition import PCA
pca=PCA(n_components=2)
principalComponents=pca.fit_transform(X)
principalDf=pd.DataFrame(data=principalComponents,columns=['principal component 1','principal component 2'])
finalDf=pd.concat([principalDf,df[['target']]],axis=1)
finalDf
fig=plt.figure(figsize=(8,8))
ax=fig.add_subplot(1,1,1)
ax.set_xlabel('principal component 1',fontsize=15)
ax.set_ylabel('principal component 2',fontsize=15)
ax.set_title('2 component PCA',fontsize=20)
targets=['Setosa','Versicolor','Virginica']
color=['r','g','b']
for target,color in zip(targets,color):
indicesToKeep=finalDf['target']==target
ax.scatter(finalDf.loc[indicesToKeep,'principal component 1'],finalDf.loc[indicesToKeep,'principal component 2'],c=color,s=50)
ax.legend(targets)
ax.grid()