SimpleValidation testweightedcorrectnessmanhattank10

Nash
Neuling
Neuling
Beiträge: 4
Registriert: 16. Nov 2011 14:43

SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Nash » 2. Feb 2016 11:58

Hallo,

ich habe das Problem, dass der im Betreff genannte Test nicht erfolgreich durchläuft.

Ich bekomme folgende ausgabe:
java.lang.AssertionError: Predicted class 0 for [young,myope,no,normal,soft] not among top classes in predicted distribution by weka: [0.2862572081155285, 0.14540419027115958, 0.5683386016133121]

Ich kriege als Klasse für die Instanz "soft" heraus, was ja eigentlich richtig ist. Der Test erwartet aber die Klasse none, wenn ich den Test richtig verstanden habe. Hat jemand das gleiche Problem oder hat eine Erklärung, weshalb der Fehler vorkommt?

Ich benutze das aktualisierte Framework.

VG

Yeehaw
Neuling
Neuling
Beiträge: 8
Registriert: 10. Apr 2015 12:19

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Yeehaw » 2. Feb 2016 16:09

Ich habe ein ähnliches Problem bei der Methode testCorrectnessUnweightedManhattanK1()- Bei mir wird 'hard' vorausgesagt, doch er erwartet wie Du richtig sagst 'none'.

Ich könnte mir nur vorstellen, dass WEKA vllt. intern beim Sortieren auch gleich-gut bewertete Einträge vertauscht, sodass z.B. die paar mit 24 Votes nicht in der richtigen Reihenfolge in der Liste sind und daher in meinem Fall leider das erste das falsche ist (sind ja alle gleich gut, nur wird halt das erste herausgepickt).

In Deinem Fall mit k=10 sollte das Problem aber doch eher nicht auftreten...?

Nash
Neuling
Neuling
Beiträge: 4
Registriert: 16. Nov 2011 14:43

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Nash » 3. Feb 2016 01:01

Das komische ist, dass der Test komplett fehlerfrei durchläuft, wenn ich die alten junit tests vor der Aktualisierung des Frameworks nehme.

Ein weiteres Problem was ich habe, ist bei den Tests testCorrectnessNominalUnweightedManhattank20() und testCorrectnessNominalWeightedManhattank10Normalized() in advancedvalidation. Diese Tests laufen nicht durch mit der Begründung, dass eine outofboundsexception -1 auftritt. Beim durchlaufen mit Debugger ist mir aufgefallen, dass mein Klassifizierer die richtige Klasse vorhersagt, aber der Classindex bei den Tests auf jeweils 2 gesetzt ist, obwohl die Klassen erst an Position 20 liegen. Könnte es sein, dass ein Fehler in den Junit Tests vorliegt?

radio_controlled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 107
Registriert: 8. Okt 2010 20:31

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von radio_controlled » 3. Feb 2016 09:19

Ich hatte so einen Fehler auch. Es ging dann, wenn ich die Klasse bei der Distanzberechnung ignoriert hatte. Den Index der Klasse bekommt ihr mit getClassAttribute().

Vielleicht ist das ja auch so bei euch.
Viele Grüße

Yeehaw
Neuling
Neuling
Beiträge: 8
Registriert: 10. Apr 2015 12:19

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Yeehaw » 3. Feb 2016 15:45

@radio_controlled:

Du meinst, Du hast einfach die Werte direkt verglichen (aka: object1 == object2)? Nichts mit casten zu String oder Double und dann vergleichen?

radio_controlled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 107
Registriert: 8. Okt 2010 20:31

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von radio_controlled » 3. Feb 2016 15:55

Yeehaw hat geschrieben:@radio_controlled:

Du meinst, Du hast einfach die Werte direkt verglichen (aka: object1 == object2)? Nichts mit casten zu String oder Double und dann vergleichen?
Sorry, mit Klasse meinte ich die Klassen der jeweiligen Instanzen eines Datensatzes. Z.B. none, soft, hard, ... für contact lense.

Yeehaw
Neuling
Neuling
Beiträge: 8
Registriert: 10. Apr 2015 12:19

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Yeehaw » 3. Feb 2016 16:29

@ radio_controlled:

So hat es bei mir jetzt auch funktioniert. Macht ja auch irgendwie Sinn, die fehlende Klasse nicht bei der Distanzberechnung miteinzubeziehen.

Danke!

Nash
Neuling
Neuling
Beiträge: 4
Registriert: 16. Nov 2011 14:43

Re: SimpleValidation testweightedcorrectnessmanhattank10

Beitrag von Nash » 6. Feb 2016 15:39

danke für die hilfreichen infos. bei mir klappt es nun. hatte die falsche Gewichtungsformel genommen.

Antworten

Zurück zu „Archiv“