Локально линейное вложение python - PullRequest
0 голосов
/ 01 мая 2020

Я разработал уменьшение размерности для наборов данных mnist, код выполняется без ошибок, однако он не дает никакого вывода, кажется, что он работает бесконечно, не могли бы вы сказать мне, если что-то не так, почему это так? не показывать вывод?

enter from sklearn.manifold import LocallyLinearEmbedding
#for LLE
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA


#for the 1-Neighbors
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

from keras.utils import to_categorical

from keras.datasets import mnist
import numpy as np
(x_train, y_train), (x_test, y_test) = mnist.load_data()


x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:])))
x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:])))
print (x_train.shape)
print (x_test.shape)

y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

model = LocallyLinearEmbedding(n_neighbors=15, n_components=2, 
method='modified',eigen_solver='dense')
x_train = model.fit_transform(x_train)
print("******************************************")
print(x_train.shape)




print("***********************************************")
print("Generalization errors of 1 Nearest Neighbour classifier...")
print("***********************************************")


# instantiate learning model (k = 1)
knn = KNeighborsClassifier(n_neighbors=1, metric='euclidean')
# fitting the model
knn.fit(x_train, y_train)

# predict the response
pred = knn.predict(x_test)
#pred = knn.predict(testImg[0].reshape(1,-1))

# evaluate accuracy
print("accuracy:{}".format(accuracy_score(y_test, pred)))
sco = knn.score(x_test, y_train)
print("Score:", sco) here
...