Dies ist eine alte Version des Dokuments!
Bei dem ganzen MNIST-Datensatz hat unser k-nearest-Neighbor-Algorithmus eine Genauigkeit von 98%.
import cPickle as pickle with open('clean_symbols.p','r') as f: u=pickle.Unpickler(f) data=u.load() zahlen=['1','2','3','4','5','6','7','8','9','0'] for i in range(15568): if data[2][i] in zahlen: data[1][i]= int(data[2][i]) else: data[1][i] +=10 pickle.dump( data, open( "symbols-newlabel.p", "wb" ) )
import cPickle as pickle import numpy as np with open('symbols-newlabel.p','r') as f: u=pickle.Unpickler(f) data=u.load() data_neu=np.zeros(shape=data[0].shape,dtype=np.float) for i in range(data[0].shape[0]): data_neu[i]=data[0][i,:]/np.linalg.norm(data[0][i,:]) alldata_neu= (data_neu, data[1], data[2]) pickle.dump( alldata_neu, open( "symbols-newlabel-norm.p", "wb" ) )
import cPickle as pickle import scipy.io import numpy as np mat=scipy.io.loadmat('/home/mensch/scikit_learn_data/mldata/mnist-original-norm.mat') with open('symbols-newlabel-norm.p','r') as f: u=pickle.Unpickler(f) data=u.load() mnist_data=mat['data'] mnist_data= mnist_data.transpose() mnist_label=mat['label'] mnist_label=mnist_label.transpose() mnist_label_int=np.zeros(shape=mnist_label.shape, dtype=np.int64) mnist_label_string=np.zeros(shape=mnist_label.shape, dtype=object) for i in range(mnist_label.shape[0]): mnist_label_int[i]= np.int64(mnist_label[i]) mnist_label_string[i]= np.string_(mnist_label[i]) mnist_label_int = mnist_label_int.reshape((mnist_label_int.shape[0],)) mnist_label_string = mnist_label_string.reshape((mnist_label_string.shape[0],)) zusammendaten=np.append(data[0], mnist_data, axis=0) zusammenlabel= np.append(data[1], mnist_label_int, axis=0) zusammenlabel2=np.append(data[2], mnist_label_string, axis=0) alleszusammen = (zusammendaten, zusammenlabel, zusammenlabel2) pickle.dump( alleszusammen, open( "/home/mensch/scikit_learn_data/mldata/datensaetze-zsm.p", "wb" ) )
Der Versuch die Daten mit Pickle zu speichern führte allerdings zu einem MemoryError. Daher sind wir dazu übergegangen die Dateien in einem Numpy-Objekt zu speichern:
alleszusammen= np.array((zusammendaten, zusammenlabel, zusammenlabel2)) np.save( "/home/mensch/scikit_learn_data/mldata/datensaetze-zsm.p",alleszusammen)
Die Datei wird dann als „datensaetze-zsm.p.npy“ gespeichert und kann mit dem Befehl
np.load("/home/mensch/scikit_learn_data/mldata/datensaetze-zsm.p")
geladen werden.