Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss16:26.05.2016
  • Herunterladen des MNIST Datensatz mit 70.000 handgeschriebenen Ziffern
from sklearn.datasets import fetch_mldata
mnist = fetch_mldata('MNIST original')
  • k-nearest-Neighbor-Algorithmus für einfache Vektoren geschrieben
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)
  • Aufbau eines einfachen Datensatz
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()
  • Einrichtung der tubcloud
ss16/26.05.2016.txt · Zuletzt geändert: 2016/06/16 17:07 von henrikfrenzel