Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ss16:26.05.2016 [2016/06/02 14:23] henrikfrenzel |
ss16:26.05.2016 [2016/06/16 17:07] (aktuell) henrikfrenzel |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Herunterladen des MNIST Datensatz mit 70 000 handgeschriebenen Ziffern \\ | + | * Herunterladen des MNIST Datensatz mit 70.000 handgeschriebenen Ziffern \\ |
- | k-nearest-Neighbor-Algorithmus für einfache Vektoren geschrieben | + | <code> |
+ | from sklearn.datasets import fetch_mldata | ||
+ | mnist = fetch_mldata('MNIST original') | ||
+ | </code> | ||
+ | * k-nearest-Neighbor-Algorithmus für einfache Vektoren geschrieben \\ | ||
+ | <code python> | ||
+ | import numpy as np | ||
+ | import math as m | ||
+ | import operator | ||
+ | |||
+ | def abstand(vektor1, vektor2): | ||
+ | summe=0 | ||
+ | for i in range(len(vektor1)): | ||
+ | summe+=(vektor1[i]-vektor2[i])**2 | ||
+ | abstand= m.sqrt(summe) | ||
+ | return abstand | ||
+ | |||
+ | |||
+ | def nachbarn(untersuchen, vergleich, anzahl): | ||
+ | abstaende=[] | ||
+ | for i in range(len(vergleich)): | ||
+ | abstaende.append((abstand(untersuchen, vergleich[i]),i)) | ||
+ | abstaende.sort(key=operator.itemgetter(0)) | ||
+ | print abstaende | ||
+ | print "Untersuchtes Objekt gehoert zu: ", vergleich[abstaende[0][1]][len(untersuchen)] | ||
+ | |||
+ | |||
+ | test1=[(1,2,8,"a"),(3,4,5,"b"),(10,10,10,"c")] | ||
+ | test2=[3,5,0] | ||
+ | nachbarn(test2,test1,1) | ||
+ | </code> | ||
+ | |||
+ | * Aufbau eines einfachen Datensatz | ||
+ | <code > | ||
+ | python | ||
+ | >>> from sklearn import datasets | ||
+ | >>> digits=datasets.load_digits() | ||
+ | >>> digits.keys() | ||
+ | ['images', 'data', 'target_names', 'DESCR', 'target'] | ||
+ | >>> digits.data | ||
+ | array([[ 0., 0., 5., ..., 0., 0., 0.], | ||
+ | [ 0., 0., 0., ..., 10., 0., 0.], | ||
+ | [ 0., 0., 0., ..., 16., 9., 0.], | ||
+ | ..., | ||
+ | [ 0., 0., 1., ..., 6., 0., 0.], | ||
+ | [ 0., 0., 2., ..., 12., 0., 0.], | ||
+ | [ 0., 0., 10., ..., 12., 1., 0.]]) | ||
+ | >>> digits.data.shape | ||
+ | (1797, 64) | ||
+ | >>> digits.images | ||
+ | array([[[ 0., 0., 5., ..., 1., 0., 0.], | ||
+ | [ 0., 0., 13., ..., 15., 5., 0.], | ||
+ | [ 0., 3., 15., ..., 11., 8., 0.], | ||
+ | ..., | ||
+ | [ 0., 4., 11., ..., 12., 7., 0.], | ||
+ | [ 0., 2., 14., ..., 12., 0., 0.], | ||
+ | [ 0., 0., 6., ..., 0., 0., 0.]], | ||
+ | |||
+ | [[ 0., 0., 0., ..., 5., 0., 0.], | ||
+ | [ 0., 0., 0., ..., 9., 0., 0.], | ||
+ | [ 0., 0., 3., ..., 6., 0., 0.], | ||
+ | ..., | ||
+ | [ 0., 0., 1., ..., 6., 0., 0.], | ||
+ | [ 0., 0., 1., ..., 6., 0., 0.], | ||
+ | [ 0., 0., 0., ..., 10., 0., 0.]], | ||
+ | |||
+ | [[ 0., 0., 0., ..., 12., 0., 0.], | ||
+ | [ 0., 0., 3., ..., 14., 0., 0.], | ||
+ | [ 0., 0., 8., ..., 16., 0., 0.], | ||
+ | ..., | ||
+ | [ 0., 9., 16., ..., 0., 0., 0.], | ||
+ | [ 0., 3., 13., ..., 11., 5., 0.], | ||
+ | [ 0., 0., 0., ..., 16., 9., 0.]], | ||
+ | |||
+ | ..., | ||
+ | [[ 0., 0., 1., ..., 1., 0., 0.], | ||
+ | [ 0., 0., 13., ..., 2., 1., 0.], | ||
+ | [ 0., 0., 16., ..., 16., 5., 0.], | ||
+ | ..., | ||
+ | [ 0., 0., 16., ..., 15., 0., 0.], | ||
+ | [ 0., 0., 15., ..., 16., 0., 0.], | ||
+ | [ 0., 0., 2., ..., 6., 0., 0.]], | ||
+ | |||
+ | [[ 0., 0., 2., ..., 0., 0., 0.], | ||
+ | [ 0., 0., 14., ..., 15., 1., 0.], | ||
+ | [ 0., 4., 16., ..., 16., 7., 0.], | ||
+ | ..., | ||
+ | [ 0., 0., 0., ..., 16., 2., 0.], | ||
+ | [ 0., 0., 4., ..., 16., 2., 0.], | ||
+ | [ 0., 0., 5., ..., 12., 0., 0.]], | ||
+ | |||
+ | [[ 0., 0., 10., ..., 1., 0., 0.], | ||
+ | [ 0., 2., 16., ..., 1., 0., 0.], | ||
+ | [ 0., 0., 15., ..., 15., 0., 0.], | ||
+ | ..., | ||
+ | [ 0., 4., 16., ..., 16., 6., 0.], | ||
+ | [ 0., 8., 16., ..., 16., 8., 0.], | ||
+ | [ 0., 1., 8., ..., 12., 1., 0.]]]) | ||
+ | >>> digits.images.shape | ||
+ | (1797, 8, 8) | ||
+ | >>> digits.images[0,:,:] | ||
+ | array([[ 0., 0., 5., 13., 9., 1., 0., 0.], | ||
+ | [ 0., 0., 13., 15., 10., 15., 5., 0.], | ||
+ | [ 0., 3., 15., 2., 0., 11., 8., 0.], | ||
+ | [ 0., 4., 12., 0., 0., 8., 8., 0.], | ||
+ | [ 0., 5., 8., 0., 0., 9., 8., 0.], | ||
+ | [ 0., 4., 11., 0., 1., 12., 7., 0.], | ||
+ | [ 0., 2., 14., 5., 10., 12., 0., 0.], | ||
+ | [ 0., 0., 6., 13., 10., 0., 0., 0.]]) | ||
+ | >>> import matplotlib.pyplot as plt | ||
+ | >>> plt.imshow(digits.images[0,:,:]) | ||
+ | <matplotlib.image.AxesImage Object at 0x7f5cf834c650> | ||
+ | >>> plt.show() | ||
+ | </code> | ||
+ | |||
+ | * Einrichtung der tubcloud |