Tools


Visualisierung

Kumulative Histogramme

Ein Skript zur zur Erstellung von Histogrammen liegt unter http://www-i6.informatik.rwth-aachen.de/~bezrukov/datamining/makehisto.sh Es erstellt relative und kumulative Histogramme. Es können Histogramme vom gesamten Datensatz oder von einzelnen Klassen erstellt werden. Fehlende Werte können ignoriert werden. Als Ausgabe gibt es .gnuplot Dateien, bei deren Aufruf alle Features hintereinander geplottet werden.

Vorverarbeitung

Histogrammtransformation

Im Archiv http://www-i6.informatik.rwth-aachen.de/~bezrukov/datamining/features2histo.tar.gz findet ihr 2 Matlab-Funktionen zur Histogrammtransformation zusammen mit einem Bash-Wrapper-Skript. Dieses transformiert Features entweder in Histogramme oder in binäre Features, abhängig davon, wieviele verschiedene Werte ein Feature hat. Histogrammtyp und maximale Anzahl verschiedener Werte, bis zu der noch eine binäre Feature-Transformation stattfindet, können als Parameter übergeben werden. Es sind 2 Histogrammtypen implementiert: ein Equi-Depth Histogram(feature2equidepth.m) sowie ein Quantil-Histogram(feature2quantile.m) und eine Modifikation davon. Damit das Skript richtig läuft, muss evtl. die Variable FUNCPATH in features2histo.sh angepasst werden. Diese sollte auf das Verzeichnis gesetzt sein, in dem die MATLAB-Funktionen liegen.

Ilja

Konvertierung

Auftrennung von Daten(spalten)

Die einzelnen Datenspalten liegen jetzt im Verzeichnis /work/dmclab/features, benannt nach den Features Enthalten sind hintereinander die Trainings- und Testdaten.

Das Skript zur Auftrennung von Daten in training, evaluation und test sets liegt unter /work/dmclab/features/bin

Aufruf: separate.py inputfile prefix [-cv] [-ak] [-nk]

inputfile: Eingabedatei, beliebig viele Spalten, wird zeilenweise getrennt

prefix: Prefix der Ausgabedateien

es werden folgende Dateien generiert:

PREFIX+"_train_tr.data" Trainingsdatei ohne Hold-Out Daten

PREFIX+"_train_ev.data" Hold-Out-Daten

PREFIX+"_train.data" Alle Trainingsdaten

PREFIX+"_test.data" Testdaten

[-cv] erzeugt optional 5-fach Kreuzvalidierungsdateien der Form 5fold_PREFIX_test[0-4].data

[-ak] erzeugt alle obigen Datensätze nur mit Altkunden. Dabei wird hinter PREFIX der Zusatz _AK_ eingefügt [-nk] dito, aber diesmal für Neukunden

Die Datei mit den Zeilennummer des Hold-Out-Sets(1.Datensatz=1.Zeile) liegt auch unter /work/dmclab/features/bin, der Pfad ist als Konstante ins Skript eingebaut

Ilja

Joergfiles aus den Feature-Dateien bauen

..geht mit /work/dmclab/features/bin/data2jf.sh creates joergfiles from feature files using separate.py Usage: ./data2jf.sh all|ak|nk featurefile prefix Dabei koennen alle Datensaetze sowie nach Neukunden und Altkunden separiert Datensaetze erzeugt werden.

Score-Berechnung

WEKA

Hier ein kleines Java-Programm, welches ich zur Scoreberechnung nutze. Als Eingabe bekommt es die von WEKA produzierten Klassenwahrscheinlichkeiten, die man bekommt, wenn man WEKA mit der Option -p 0 aufruft, und desweiteren einen Offset-Parameter. Dieser sollte auf (nahe) 0.0 gesetzt werden, bei positivem Werte wird Klasse 1 bevorzugt, bei negativem Wert Klasse 0. Die Kostenmatrix ist im Programm hardgecoded. Die Ausgabe ist (hoffentlich) selbsterklärend. Ansonsten oder bei Fehlern: fragen.

Hier das Programm: [WWW]http://www-i6.informatik.rwth-aachen.de/~hegerath/WEKAscore.java

Andre

Verteilungstabellen

Ein tool was sich die Verteilung des Targetfeatures in Kombination mit 2 anderen Features anguckt bzw. als Tabelle ausgibt, liegt in /work/dmclab/Distributiontool

Ein Ranking der aussagekräftigsten Features liegt auch da.


Offline DMC Log & Layout: Arnd Ißler, http://arndissler.net/