85 lines
No EOL
1.9 KiB
Markdown
85 lines
No EOL
1.9 KiB
Markdown
|
|
# 2018-03-07
|
|
|
|
## Iris Datenbank
|
|
|
|

|
|
|
|
Je besser die Trainingsdaten desto leichter die klassifizierung.
|
|
|
|
Algorithmus sucht die naechsten K-Punkte.
|
|
|
|
Daten werden in lern und Testdaten geteilt um overfitting zu vermeiden.
|
|
Eventuell zusaetzlich noch validation data.
|
|
|
|
### k-fold cross validation
|
|
|
|
Z.B. 10-fold cross validation.
|
|
|
|
9 Teile der Daten zum lernen, 1 Teil zum validieren.
|
|
|
|
Ergebnis Accuracy oder Confusion Matrix.
|
|
|
|

|
|
|
|
## Distanz zwischen 2 Istanzen
|
|
|
|

|
|
|
|
## Confusion Matrix
|
|
|
|

|
|
|
|
## Angabe
|
|
|
|
Allgemein:
|
|
|
|
Implementieren Sie einen Klassifizierer mittels k
|
|
-Nearest
|
|
-Neighbor Algorithmus. Sie können dafür
|
|
Java oder C# als Sprache auswählen
|
|
und dürfen keine Machine Learning Frameworks ver
|
|
wenden.
|
|
Messen Sie
|
|
jeweils die Zeit
|
|
für jeweils 1000
|
|
, 10.000 oder 100.000
|
|
Klas
|
|
sifizierungen (also ohne
|
|
Einlesen der Daten, Lernen etc.). Teilen Sie die Daten jeweils in Lern- und Test Daten. Verwenden
|
|
Sie dafür ein
|
|
beliebiges Validation Verfahren,
|
|
erstellen Sie eine Confusion Matrix und
|
|
berechnen
|
|
Sie die Accuracy für Ihren Algorithmus.
|
|
Achten Sie bei der Implementierung, dass Sie
|
|
konkret dieses Beispiel lösen. Sie müssen keine
|
|
allgemeine, wiederverwendbare Lösung implementieren, die auch für andere Dat
|
|
en verwendet
|
|
werden kann.
|
|
Abzugeben ist ein einseitiger Bericht im PDF Format mit den gemessenen Zeiten und den
|
|
Confusion Matri
|
|
zen.
|
|
Beim Prüfungsgespräch ist auch der Code zu erklären.
|
|
|
|
Variante 1:
|
|
|
|
Daten zu den Iris
|
|
-Blumen aus https://archive.ics.uci.edu/ml/datasets/Iris
|
|
.
|
|
|
|
Variante 2:
|
|
|
|
Daten zur Weinquali
|
|
tät aus https://archive.ics.uci.edu/ml/datasets/Wine+Quality
|
|
, Rot
|
|
-, oder
|
|
Weißwein
|
|
|
|
Zusatzaufgabe (Optional):
|
|
|
|
Erstellen
|
|
Sie zunächst ein Framework für den kNN Algorithmus und implementieren Sie Klassen,
|
|
die auch für andere Daten
|
|
zum Einsatz kommen können.
|
|
|