def convert1d(img, c): new_img = img.reshape((img.shape[0] * img.shape[1]), img.shape[2]) new_img = new_img.transpose() from sklearn.decomposition import PCA pca = PCA(n_components=c) pca.componrnt = True new_img = pca.fit_transform(new_img) return new_img
len1=np.count_nonzero(dataset[:,0]==1) len2=999-len1 data1=np.empty((len1,11)) data2=np.empty((len2,11)) l1=-1 l2=-1 for i in range(999): if dataset[i,0]==1: l1+=1 data1[l1,:]=dataset[i,:] else: l2+=1 data2[l2,:]=dataset[i,:] pca=PCA(n_components=1) pca.componrnt= True k=0 for i in range(1,10): for j in range(i+1,10): k+=1 x=np.append(data1[:,i],data2[:,i]) y=np.append(data1[:,j],data2[:,j]) z=pca.fit_transform(np.stack((x,y),axis=1)) plt.scatter(z[:len1],np.repeat(k,len1),c='r',label='1') plt.scatter(z[len1:],np.repeat(k,len2),c='b',label='2') plt.xlabel('Transformed component(RED=1,BLUE=2)') plt.ylabel('combinations of features in order') plt.title('1D PCA of combinations of features') plt.show()