Seite 1 von 1

Klassifikationswettbewerb

Verfasst: 8. Feb 2016 13:10
von radio_controlled
Heyy,

wie seid ihr über 96.5% gekommen?
96.12% war ja einfach mit dem multilayerperceptron, aber drüber hab ich es nicht geschafft

Grüße

Re: Klassifikationswettbewerb

Verfasst: 8. Feb 2016 15:26
von Seldon
96.69 mit 2000 Iterationen AdaBoost über Decision Stumps. Die Methode für 97.15 von Gruppe 15 wüsste ich aber zu gern :)

Re: Klassifikationswettbewerb

Verfasst: 8. Feb 2016 17:36
von Q.S
97% ist mit bagging
97.02% kommt nocht Stacking (bagging, mp, usw) dazu.
von Gruppe 15 würde ich auch sehr gern wissen

LG

Re: Klassifikationswettbewerb

Verfasst: 9. Feb 2016 12:19
von radio_controlled
Glückwunsch an Gruppe 15 / Daniel K.
Verdient gewonnen^^

Soweit ich mich erinnere, hat er ein Voting mit MultiLayerPerceptron, Bagging/Decisiontables und Adaboost/J48 benutzt, und dazu noch Preprocessing der Daten. Mich würde mal interesserieren, wie viel das Preprocessing gebracht hat^^ (hatte da bei meinen Top Abgaben keine Verbesserungsmöglichkeiten gefunden)

Re: Klassifikationswettbewerb

Verfasst: 10. Feb 2016 11:09
von HansB
Wir haben 97,05 % mit Stacking über
  • JRip
  • DecisionTable mit Bagging
  • J48
erreicht.

Re: Klassifikationswettbewerb

Verfasst: 19. Feb 2016 12:44
von DanielK
Nach der Klausur schließe ich das Thema gerne noch ab und beantworte die Fragen:

Das Preprocessing war definitiv das wichtigste um zu einer höheren Genauigkeit zu kommen. Man muss sich wenigstens mal Gedanken darüber machen was die ganzen Attribute bedeuten, welche sinnvoll und hiilfreich sind oder welche vernachlässigt werden können, wo man interessante neue Features konstruieren könnte, was die Missing Values bedeuten und wie man damit umgehen sollte, wo Outlier sind zum rausschmeißen, uswusf.

Ich habe bspw. neue Features konstruiert indem ich die beiden verschiedenden Preistypen verrechnet, Differenzen, Summe und Durchschnitte gebildet - ohne jedgliches Domänenwissen quasi fast blind. Das hat sehr viel gebracht. Missing Values durch den String "Missing" ersetzen für die Availabilitiy-Attribute gab auch einen richtigen Hüpfer in der Genauigkeit. Da steckte einfach viel Information drin.

Insgesamt habe ich mit 1x10 CV gemessen, dass die Genauigkeit von J48 allein durch das Preprocessing von 95,65% auf 96,85% gestiegen ist.

Meine beste Abgabe (Nr. 11 von 26) war sehr simpel:
Voting(Bagging(J48), MultilayerPerceptron, DecisionTable)

Abgeschätzt mit 96,90% ergab das die beste Vorhersage mit 97,15%.

Die folgenden 15 Abgaben habe ich überwiegend versucht die Parameter zu tweaken und immer noch komplexere Modelle zu lernen, mit Kombinationen von Voting, Stacking, Bagging, Boosting - das gab oft super Abschätzungen und wurde herbe enttäuscht. Bspw. meine vorletzte Abgabe:
J48-Stacking(AdaBoost (Decision Stump), Bagging(MultilayerPerceptron), Bagging(Decision Table), Bagging(J48), Voting(Decision Table, Multilayer Perceptron, Bagging (J48))

Ergab eine Abschätzung von 98,42%, sowohl mit 1x10-CV als auch 66%-Split - mit Abstand die höchste Abschätzung, die ich je gesehen habe. Ich dachte ich hätte den Jackpot geknackt. Die echte Auswertung ergab läppische 95,55% Genauigkeit. :lol:

Fazit:
Deal with the data, then with the Algorithms. Don't overfit and keep it simple silly!