Seite 1 von 1

kNN-Implementierungsaufgabe - Unit Tests mit k = 1

Verfasst: 27. Jan 2016 14:19
von p0laris
Hallo zusammen,

ich habe eine Frage bezüglich der Unit Tests in der Implementierungsaufgabe die den Algorithmus mit k = 1 aufrufen.

Z.B. gibt es beim contact-lenses Datensatz in den Testdaten beim Test SimpleValidation.testCorrectnessUnweightedManhattank1 die Instanz
  • [young, myope, no, normal, soft]
Für diese Instanz gibt es in den Trainingsdaten die Instanzen
  • [young, myope, yes, normal, hard]
    [young, hypermetrope, no, normal, soft]
    [pre-presbyopic, myope, no, normal, soft]
    [presbyopic, myope, no, normal, none]
jeweils mit einer Distanz von 1, sodass keine favorisiert ausgewählt werden kann.

Mein Algorithmus wählt jetzt bei k = 1 eine andere Instanz als der Weka Algorithmus aus und der Test schlägt fehl.
Bei k = 3 läuft der Test durch.

Wie sollen wir hier verfahren? Ist es ok, wenn der Test bei höherem k funktioniert, aber in solchen Fällen bei k = 1 ein anderes Ergebnis liefert?

Danke und viele Grüße,
Dominik

Re: kNN-Implementierungsaufgabe - Unit Tests mit k = 1

Verfasst: 27. Jan 2016 14:45
von p0laris
Ich sehe gerade, dass das Problem von gleichen Distanzen/Votings in den Aufgaben 5.3 b) und c) aufgegriffen wird. Dann überlege ich mir mal wie man das am geschicktesten löst.

Re: kNN-Implementierungsaufgabe - Unit Tests mit k = 1

Verfasst: 29. Jan 2016 15:45
von eneldo
Bitte auch viewtopic.php?f=225&t=33754 berücksichtigen.

Re: kNN-Implementierungsaufgabe - Unit Tests mit k = 1

Verfasst: 29. Jan 2016 22:41
von p0laris
Vielen Dank, bei mir gibt es jetzt keine Probleme mehr mit den Tests!