I have been following this tutorial for the iris flower dataset.
I am trying to create a 2D pca for my own data but i cant figure out what to change etc.
This is my code:
data_df = pd.DataFrame.from_csv("fvectors.csv")
data_df = data_df.reindex(np.random.permutation(data_df.index))
X = np.array(data_df[features].values)
data_df2 = pd.DataFrame.from_csv("fvectors.csv")
y = np.array(data_df2[features1].replace("Circle",0).replace("Triangle",1)
.replace("Square",2).replace("Parallelogram",3)
.replace("Rectangle",4).replace("Pentagon",5)
.replace("Seal",6).values.tolist())
target_names = data_df.Label
plt.figure()
colors = ['navy', 'turquoise', 'darkorange']
lw = 2
pca = PCA(n_components=2)
X_r = pca.fit(X).transform(X)
for color, i, target_name in zip(colors, [0, 1, 2], target_names):
plt.scatter(X_r[y == i, 0], X_r[y == i, 1], color=color, alpha=.8, lw=lw,
label=target_name)
plt.legend(loc='best', shadow=False, scatterpoints=1)
plt.title('PCA of 2D Shape Dataset')
I am getting this error:
plt.scatter(X_r[y == i, 0], X_r[y == i, 1], color=color, alpha=.8, lw=lw, label=target_name)
IndexError: too many indices for array
I know I am probably doing something stupid. Does anyone know how to fix this error and the rest of my code for my data so it works?
Thanks