2016-05-18 21 views
1

Ich vergleiche verschiedene Klassifikationsalgorithmen für ein Projekt mit knime. Ich war sehr zufrieden mit den Ergebnissen, die ich für Support Vector Machines (LibSVM) erhalten habe. Ich wollte dann versuchen, hierarchische Klassifizierung und installiert das Rapidminer-Plugin für knime. Um die Dinge zum Laufen zu bringen, habe ich zuerst die SVM-Implementierung ohne Hierarchien getestet.SVM ergibt Rapidminer viel schlimmer als in Knime

Beim Vergleich der Ergebnisse der knives-LibSVM-Implementierung und der rapidminer LibSVM-Implementierung habe ich festgestellt, dass die rapidminer-Implementierung schlechtere Ergebnisse lieferte. Die Knime-Implementierung erzeugte tatsächlich eine Fehlerrate von ungefähr 2,4%, während der rapidminer eine Fehlerrate von ungefähr 2% erzeugte. 61%. Warum ist das? Mache ich etwas falsch?

Confusion Matrix Comparison

I verwenden C-SVC SVM mit linearen Kern, 1,0 Cost, 0,001 epsilon und 80MB Cache für beide Implementierungen.

Rapidminer Workflow and OptionsKnime Options

Die Dokumente sind Wikipedia-Artikel Texte, vorverarbeitet, um ein binäres Dokument Vektor transformiert und mit irgendeiner Art von Typ gekennzeichnet.

Ich hoffe, Sie können mir helfen.

+1

Es ist ein bisschen schwierig ohne die Bibliotheksversionen zu sagen (ich nehme an RapidMiner verwendet älteres LibSVM als KNIME), aber es ist möglich, dass es einen Fehler in älteren LibSVM Versionen gab. Es ist auch möglich, dass ich einen Fehler bei der Datentransformation gemacht habe und RapidMiner (innerhalb von KNIME) falsche Daten sieht. Könnten Sie mit RapidMiner Version 5.3.15 außerhalb von KNIME überprüfen? (Es könnte auch interessant sein, sich mit der neuesten Version 7.1.x zu erkundigen oder wenn Sie Zugriff auf die 7.2-Vorschau haben. Ich weiß, dass es in den letzten RapidMiners einige verrückte Einschränkungen bezüglich Import/Export gibt. Ich verstehe, wenn Sie diese nicht überprüfen möchten.) Vielen Dank. –

+0

Vielen Dank für Ihre Antwort. Die Datentransformation scheint das Problem zu sein. Mit rapidminer studio (5.3.15) sank die Fehlerrate auf 3,3%, was ausreicht, um fortzufahren. – user2509422

+0

Ich habe versucht, Ihr Problem zu reproduzieren: https://drive.google.com/file/d/0B_71sAq09Nu2VzM3bmxoakNJN00/view?usp=sharing, obwohl ich nur geringe Unterschiede hatte. Was ich verdächtige, ist, dass Sie innerhalb von RapidMiner einen 'Nominal to ...' Operator verwenden. Ich denke, das ist nicht erforderlich. (In meinem Workflow habe ich die Zeilen-ID-Spalte aus dem Prozess entfernt, um diese Änderung hervorzuheben, aber Sie können auch einfach auf die Schaltfläche "Verwenden" auf der Registerkarte "Zeilen-ID" klicken, um sie nicht zu verwenden (ihr Text wird zu "Do not benutzen').) –

Antwort

2

Sie brauchen nicht die Row ID s in diesem Fall enthalten (Row ID Registerkarte machen Taste zeigen Do not use, indem Sie es bei einem Klick ist es Use und das Textfeld nicht deaktiviert), und Sie sollten Nominal to... Transformationen nicht ausführen auf sie. Danach sollten Sie in beiden Fällen ähnliche Ergebnisse erhalten.