Seite 1 von 1

Übung 3 - SVMLight input format

Verfasst: 23. Mai 2012 18:22
von Puppetmaster
Hallo,

versteht jemand das Input Format von SVMLight?

1 1:0.5 3:1 5:0.4
-1 2:0.9 3:0.1 4:2
Was soll das denn heißen?

Re: Übung 3 - SVMLight input format

Verfasst: 23. Mai 2012 20:00
von oren78
Die vorderen "1" bzw "-1" spiegeln die Klassen dar, sprich oberhalb der Hyperebene "1" und untehalb "-1".

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 00:49
von Puppetmaster
Das weiss ich. Und auch dass die Zahl vor dem Doppelpunkt das Feature und nach dem Doppelpunkt den Value angibt.

Vll hilft ein Beispiel. Angenommen ich habe einen Text: "Das rote Auto fährt über die rote Ampel"
Wäre das jetzt +1 oder -1 und warum?

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 01:48
von oren78
Puppetmaster hat geschrieben:Das weiss ich. Und auch dass die Zahl vor dem Doppelpunkt das Feature und nach dem Doppelpunkt den Value angibt.

Vll hilft ein Beispiel. Angenommen ich habe einen Text: "Das rote Auto fährt über die rote Ampel"
Wäre das jetzt +1 oder -1 und warum?
Ähmmm, das kommt drauf an was du da genau klassifizieren willst ;-)
Welche Semantik verbirgt sich hinter den beiden Klassen "1" bzw. "-1" ?

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 09:17
von Puppetmaster
Ähmmm, das kommt drauf an was du da genau klassifizieren willst
Ich glaube da liegt mein Problem. Im Moment sehe ich überhaupt keinen Zusammenhang zwischen diesen Zahlen und irgendwelchen Texten.

Also wenn es zwei Kategorien gibt (Auto und Wirtschaft), würde ich die jeweiligen Trainingsdaten segmentieren, die Stoppwörter filtern, Stemmen und anschließend jeweils den TF-IDF Vektoren berechnen und die höchsten n Wörter als Features, also als repräsentativ für diese Kategorie betrachten. Dann habe ich so was:
Auto:
fahren: 0,xxxx
Benzin: 0,xxxx
Kofferraum: 0,xxxx
...

Wirtschaft:
Geld: 0,xxxx
Finanzen: 0,xxxx
Macht: 0,xxxx
...

Wie komme ich jetzt von so einer Darstellung auf so was?
1 1:0.5 3:1 5:0.4
-1 2:0.9 3:0.1 4:2

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 10:36
von oren78
Puppetmaster hat geschrieben:
Ähmmm, das kommt drauf an was du da genau klassifizieren willst
Ich glaube da liegt mein Problem. Im Moment sehe ich überhaupt keinen Zusammenhang zwischen diesen Zahlen und irgendwelchen Texten.

Also wenn es zwei Kategorien gibt (Auto und Wirtschaft), würde ich die jeweiligen Trainingsdaten segmentieren, die Stoppwörter filtern, Stemmen und anschließend jeweils den TF-IDF Vektoren berechnen und die höchsten n Wörter als Features, also als repräsentativ für diese Kategorie betrachten. Dann habe ich so was:
Auto:
fahren: 0,xxxx
Benzin: 0,xxxx
Kofferraum: 0,xxxx
...

Wirtschaft:
Geld: 0,xxxx
Finanzen: 0,xxxx
Macht: 0,xxxx
...

Wie komme ich jetzt von so einer Darstellung auf so was?
1 1:0.5 3:1 5:0.4
-1 2:0.9 3:0.1 4:2
Nun ja, wo ist das Problem, deine Features haben ja schließlich ID-Bezeichnungen (oder etwa nicht ?)
Es gilt also dieses Format: (KLASSE, FEATURE_ID:FEATURE_VALUE)

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 12:04
von Puppetmaster
Nun ja, wo ist das Problem, deine Features haben ja schließlich ID-Bezeichnungen (oder etwa nicht ?)
Sind die IDs die Namen? Also "fahren", "Benzin", "Kofferraum", ...
Ansonsten wüsste ich nicht, dass ich ID-Bezeichnungen habe oder was genau damit gemeint ist.

Würde meine Input Datei dann etwa so aussehen?
1 fahren:0,xxxx Benzin: 0,xxxx Kofferraum: 0,xxxx
-1 Geld: 0,xxxx Finanzen: 0,xxxx Macht: 0,xxxx

Re: Übung 3 - SVMLight input format

Verfasst: 24. Mai 2012 16:35
von oren78
Puppetmaster hat geschrieben:
Nun ja, wo ist das Problem, deine Features haben ja schließlich ID-Bezeichnungen (oder etwa nicht ?)
Sind die IDs die Namen? Also "fahren", "Benzin", "Kofferraum", ...
Ansonsten wüsste ich nicht, dass ich ID-Bezeichnungen habe oder was genau damit gemeint ist.

Würde meine Input Datei dann etwa so aussehen?
1 fahren:0,xxxx Benzin: 0,xxxx Kofferraum: 0,xxxx
-1 Geld: 0,xxxx Finanzen: 0,xxxx Macht: 0,xxxx
Im Grunde ja, ich weiß halt nicht ob strings als ID-bezeichner zulässig sind...halte dich also lieber an die konvention Feature-ID ---> positive integer Werte.

Re: Übung 3 - SVMLight input format

Verfasst: 2. Jun 2012 18:23
von edmolf
Irgendwie stehe ich hier gerade total auf dem Schlauch!

In unserer Aufgabe steht ja unter 2.5 das wir mit unserer Feature-Selection eine Sparse-Repräsentation erstellen sollen.

Nur wie unterscheidet Ihr zwischen positiven +1 und negativen -1 Trainingsdaten?

Ich dachte mir für die Positiven ist es einfach, ich gehe durch alle Dokumente und suche mir die Worte aus der Feature-Selection und erstelle je eine Zeile im SVMLight input Format, nur wie geht ihr bei negativen vor?

Oder habe ich etwas hier komplett falsch verstanden?

Re: Übung 3 - SVMLight input format

Verfasst: 2. Jun 2012 20:13
von eneldo
Ich glaube, da gibt es ein generelles Missverständnis.

Im LibSVM/SVMlight Format repräsentiert jeweils eine Zeile ein Dokument. Das Dokument ist dabei als Feature-Vektor repräsentiert.
Gegeben z.B. "Ein positives Beispiel" und "Ein negatives Beispiel", wäre die Darstellung im SVM-Format schematisch und unverarbeitet etwas wie
+1 ein:1 positives:1 negatives:0 beispiel:1
-1 ein:1 positives:0 negatives:1 beispiel:1

Bei 100 positiven und 100 negativen Beispielen hat die Datei entsprechend auch 200 Zeilen.

Gruß
Eneldo Loza