Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss16:07.07.2016

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss16:07.07.2016 [2016/07/07 16:27]
henrikfrenzel
ss16:07.07.2016 [2016/07/07 16:46] (aktuell)
henrikfrenzel
Zeile 4: Zeile 4:
 === Ziele: === === Ziele: ===
   * knn-Algorithmus von scikit-learn für MNIST-Datensatz implementieren   * knn-Algorithmus von scikit-learn für MNIST-Datensatz implementieren
- 
 <code python> <code python>
 from __future__ import division from __future__ import division
Zeile 33: Zeile 32:
 zahl=zahl.reshape((trainingsize,​)) zahl=zahl.reshape((trainingsize,​))
 </​code>​ </​code>​
 +Da der Algorithmus von sklearn mit einem anderen shape arbeitet als der MNIST-Datensatz,​ musste wir den Datensatz transponieren. Außerdem haben wir aus Laufzeitgründen den Datensatz verkleinert.
  
-Ausgabe der Genauigkeit:​+=== Ausgabe der Genauigkeit: ​===
 <code python> <code python>
 clf = neighbors.KNeighborsClassifier(k) clf = neighbors.KNeighborsClassifier(k)
 clf.fit(datenkurz,​ zahl) clf.fit(datenkurz,​ zahl)
-clf.predict(test) 
 print clf.score(test,​labels) print clf.score(test,​labels)
 </​code>​ </​code>​
  
-=== Genauigkeit in Abhängigkeit von k: ===+== Genauigkeit in Abhängigkeit von k: ==
 {{ :​ss16:​printme.png |}} {{ :​ss16:​printme.png |}}
-Der Algorithmus ist bei k von 6-9 am genausten.+Der Algorithmus ist bei k von 6-9 am genausten. Aus diesem Grund haben wir uns für k=8 entschieden. 
 + 
 +=== Support Vector Classification(SVC):​ === 
 +<code python>​ 
 +for i in range(2): 
 + if i==0: 
 + clf = neighbors.KNeighborsClassifier(8) 
 + if i==1: 
 + clf = svm.SVC() 
 + t1=time.clock() 
 + clf.fit(datenkurz,​ zahl) 
 + Genauigkeit=clf.score(test,​labels) 
 + t2=time.clock() 
 + zeit=t2-t1 
 + print 
 + print "​Genauigkeit:​ ", Genauigkeit,​ "Zeit: ", zeit  
 +</​code>​ 
 +== Ausgabe: == 
 +<code terminal>​ 
 +Genauigkeit: ​ 0.957 Zeit:  12.72157 #knn 
 + 
 +Genauigkeit: ​ 0.955 Zeit:  24.224649 #SVC 
 +</​code>​ 
 +Genauigkeit bei Support Vector Classification und k-nearest-Neighbor-Algorithmus ist ähnlich allerdings ist SVC deutlich langsamer als knn.
ss16/07.07.2016.1467901645.txt.gz · Zuletzt geändert: 2016/07/07 16:27 von henrikfrenzel