Archived Website:
This website is a static snapshot for archival purposes only.
It is no longer maintained or updated.
dataanalysis.classifiers
Class SVMClassifier
java.lang.Object
|
+--dataanalysis.databases.DatabaseElement
|
+--dataanalysis.classifiers.Classifier
|
+--dataanalysis.classifiers.SVMClassifier
- public class SVMClassifier
- extends Classifier
Support Vector Maschine (Structural Risc Minimization)
Diese SVM stuetzt sich auf das von Heloise Hse (Universitaet Berkely) implementierte Java-Interface
jSVM fuer die von Thorsten Joachims (Universitaet Dortmund) in C programmierte SVM.
Das Programmpaket wurde so eingebunden, dass die Hauptmethoden train und classify erhalten blieben.
Unterschiede bestehen darin, dass in der Trainingsmethode eine Modell-Datei erstellt wird. Die
Klassifikation benoetigt diese Datei um das neue Dokument mit den erstellten Trainingsdaten einordnen
zu koennen.
- Version:
- 1.2 (13.10.1999)
- Author:
- Michael Banken
- See Also:
Classifier, Serialized Form
|
Field Summary |
protected double |
countDocu
speichert die Anzahl der Dokumente (positiv und negativ) |
Documentvector |
dfVector
speichert die Document Frequency eines jeden Wortes aus dem Feature-Woerterbuch, d.h. |
protected java.lang.String |
modellFileName
Filename fuer die Modell-Datei aus dem Trainingsmodus |
protected java.util.TreeMap |
negDocu
speichert die negativen Dokumente aus der Trainingsmenge |
protected java.util.TreeMap |
posDocu
speichert die positiven Dokumente aus der Trainingsmenge |
protected java.util.TreeMap |
tfIDFVectors
hier werden die Dokumente mit ihrer TF-IDF-Gewichtung abgelegt |
|
Method Summary |
NetEntity |
classify(NetEntity document)
Das uebergebene Dokument wird unter zu Hilfenahme des Vektorisieres, des Lexikons und der
Trainingsmenge klassifiziert und eingestuft. |
java.lang.String |
getModellFileName()
gibt den gesetzten Namen den Modell-Datei aus (Trainingsmodus) |
int |
setDFVector()
Ermittelt die Haeuifigkeit mit der die verschiedenen Worte in den Trainingsbeispielen vorkommen. |
void |
setModellFileName(java.lang.String name)
setzt den Namen der Modell-Datei aus dem Trainingsmodus |
Documentvector |
tf2TFIDF(Documentvector docVec)
Fuer die TF-IDF-Gewichtung muss der uebergebene Vektor der in der TF-Form vorliegt in TF-IDF-Form
konvertiert werden. |
int |
train()
startet das Training der SVM auf den vorhandenen Daten und den neu durch "addExample" hinzugefuegten
Beispielen. |
| Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
posDocu
protected java.util.TreeMap posDocu
- speichert die positiven Dokumente aus der Trainingsmenge
- Since:
- 1.2
negDocu
protected java.util.TreeMap negDocu
- speichert die negativen Dokumente aus der Trainingsmenge
- Since:
- 1.2
dfVector
public transient Documentvector dfVector
- speichert die Document Frequency eines jeden Wortes aus dem Feature-Woerterbuch, d.h. die Haeufigkeit
eines Wortes in den verschiedenen Dokumenten
- Since:
- 1.2
tfIDFVectors
protected java.util.TreeMap tfIDFVectors
- hier werden die Dokumente mit ihrer TF-IDF-Gewichtung abgelegt
- Since:
- 1.1
modellFileName
protected java.lang.String modellFileName
- Filename fuer die Modell-Datei aus dem Trainingsmodus
- Since:
- 1.1
countDocu
protected double countDocu
- speichert die Anzahl der Dokumente (positiv und negativ)
SVMClassifier
public SVMClassifier()
SVMClassifier
public SVMClassifier(ClassifierDatabase theDB)
setDFVector
public int setDFVector()
- Ermittelt die Haeuifigkeit mit der die verschiedenen Worte in den Trainingsbeispielen vorkommen.
- Returns:
- die Dimension des DF-Vektors
- Since:
- 1.1
tf2TFIDF
public Documentvector tf2TFIDF(Documentvector docVec)
- Fuer die TF-IDF-Gewichtung muss der uebergebene Vektor der in der TF-Form vorliegt in TF-IDF-Form
konvertiert werden.
- Parameters:
docVec - der TF-Vektor- Returns:
- newVec der TF-IDF-Vektor
- Since:
- 1.1
setModellFileName
public void setModellFileName(java.lang.String name)
- setzt den Namen der Modell-Datei aus dem Trainingsmodus
getModellFileName
public java.lang.String getModellFileName()
- gibt den gesetzten Namen den Modell-Datei aus (Trainingsmodus)
- Since:
- 1.1
train
public int train()
- startet das Training der SVM auf den vorhandenen Daten und den neu durch "addExample" hinzugefuegten
Beispielen.
1 = Daten wurden eingelesen und das Modell konnte erstellt werden
0 = Daten konnten nicht eingelesen werden
- Returns:
- Kodierung f?r eine Meldung (optional).
- Overrides:
- train in class Classifier
classify
public NetEntity classify(NetEntity document)
- Das uebergebene Dokument wird unter zu Hilfenahme des Vektorisieres, des Lexikons und der
Trainingsmenge klassifiziert und eingestuft.
Wichtig fuer die Klassifizierung ist das durchgefuehrte Training. In der Trainingsmethode selbst
wurde ein Modell-File erstellt. Diese Datei muss fuer die Klassifizierung geladen werden. Ist dies
nicht moeglich, so kann der Klassifizierer (SVM) seine Arbeit nicht aufnehmen.
Abgeleitet aus dem Testlauf fuer die jSVM-Methode: loadModelAndClassify.
- Parameters:
document - beinhaltet das zu klassifizierende Dokument.- Returns:
- Ausgabe des klassifizierten Dokuments.
- Overrides:
- classify in class Classifier