* Normalisierung des MNIST Datensatz vor dem Einlesen zur Optimierung des Algorithmus
import numpy as np
import scipy.io
mat=scipy.io.loadmat('/[…]/[…]/scikit_learn_data/mldata/mnist-original.mat')
data=mat['data']
label=mat['label']
for i in range(data.shape[1]):
data[:,i]= data[:,i]/np.linalg.norm(data[:,i])
scipy.io.savemat('/[…]/[…]/scikit_learn_data/mldata/mnist-original-norm.mat', mdict={'data':data, 'label':label})
Die Normalisierung des MNIST Datensatz vor dem Einlesen funktioniert so noch nicht. Die Daten unterscheiden sich komplett von der Norm der "originalen" Daten.
* Vergleichsdatensatz
import numpy as np
import scipy.io
mat=scipy.io.loadmat('/[…]/[…]/scikit_learn_data/mldata/mnist-original.mat')
matnorm=scipy.io.loadmat('/[…]/[…]/scikit_learn_data/mldata/mnist-original-norm.mat')
matd=mat['data']
matnd=matnorm['data']
for i in range(70000):
orignialNorm=matd[:,i]/np.linalg.norm(matd[:,i])
abstand=np.linalg.norm(orignialNorm-matnd[:,i])
print abstand
* Ausgabe der Genauigkeit des k-nearest-Neighbor-Algorithmus
* Präsentation des jetzigen Standes