Allgemeines
Die einzelnen Datenspalten liegen jetzt im Verzeichnis /work/dmclab/features, benannt nach den Features Enthalten sind hintereinander die Trainings- und Testdaten. Alle erstellten Transformationen, die vielversprechend sind :-), können dort abgelegt werden.
Die Features sind unverändert, nur fehlende Werte sind durch ? ersetzt Das Skript zur Auftrennung von Daten in training, evaluation und test sets liegt unter /work/dmclab/features/bin
Aufruf: separate.py inputfile prefix [-cv]
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
REFIX+"_test.data" Testdaten
[-cv] erzeugt optional 5-fach Kreuzvalidierungsdateien der Form 5fold_PREFIX_test[0-4].data
Die Datei mit den Zeilennummern des Hold-Out-Sets(1.Datensatz=1.Zeile) liegt auch unter /work/dmclab/features/bin, der Pfad ist als Konstante ins Skript eingebaut
Ilja
Übersicht über die Features
-
AGROUP_X Wieviele Artikel aus der jeweiligen Gruppe hat der Kunde gekauft
-
AGROUP_X_normalized wie oben, nur normalisiert
-
ANUMMER_01
-
ANUMMER_02
-
ANUMMER_03
-
ANUMMER_04
-
ANUMMER_05
-
ANUMMER_06
-
ANUMMER_07
-
ANUMMER_08
-
ANUMMER_09
-
ANUMMER_10
-
ANUMMER_XX-CATEGORIES
-
ANUMMER_XX_EQ Equi-Depth Histogramm, 10 bins
-
ANUMMER_XX_isMissing binäres Feature für fehlenden Wert
-
ANUMMER_XX_Group Zu welcher Gruppe (1..6) gehoert der Artikel
-
ANUMMER_XX_Group_normalized Zu welcher Gruppe (1..6) gehoert der Artikel
-
ANUMMER_XX_continuous_EQ Artikelnummern sind von 1..560 durchnumeriert und dann mit 10-bin equi-depth Histo transformiert
-
ANUMMER_XX_continuous_EQ_20 Artikelnummern sind von 1..560 durchnumeriert und dann mit 20-bin equi-depth Histo transformiert
-
ANUMMER_isFraud 1, wenn einer der Artikel aus Arnes top 10 Frauds im Warenkorb ist. Vorsicht beim Verwenden, da nicht für jeden Fold einzeln bestimmt!
-
ANZ_BEST
-
ANZ_BEST_GES
-
ANZ_BEST_GES.normalized
-
ANZ_BEST_GES-NORMALIZED-0..1
-
ANZ_BEST_GES_isZERO binäres Feature, 1 wenn Bestellwert 0
-
ANZ_BEST.normalized
-
ANZ_BEST-NORMALIZED-0..1
-
ANZ_BEST_isNot1 BF, mehr als ein Artikel bestellt
-
B_EMAIL
-
B_EMAIL.numeric
-
BESTELLIDENT
-
B_GEBDATUM
-
B_GEBDATUM-AGE Geburtsdatum konvertiert in Alter in Jahren
-
B_GEBDATUM.ageclass0.numeric Binäres feature für Alersklasse 0
-
B_GEBDATUM.ageclass1.numeric Binäres feature für Alersklasse 1
-
B_GEBDATUM.ageclass2.numeric Binäres feature für Alersklasse 2
-
B_GEBDATUM.ageclass3.numeric Binäres feature für Alersklasse 3
-
B_GEBDATUM.ageclass4.numeric Binäres feature für Alersklasse 4
-
B_GEBDATUM.ageclasses.numeric Numerisches Feature für Altersklasse (0-4)
-
B_GEBDATUM.ageclasses.numeric.normalized
-
B_GEBDATUM.ageInDays
-
B_GEBDATUM.ageInDays.normalized
-
B_GEBDATUM-MISSING
-
B_GEBDATUM-MISSING.numeric
-
B_GEBDATUM-ZODIAC Das äußerst nützliche Sternzeichen Feature, das dem Data Mining astrologische Aspekte gibt
-
B_GEBDATUM-ZODIAC.numeric
-
B_GEBDATUM-ZODIAC.numeric.normalized
-
B_GEBDATUM_MONTH_is2_10_12
-
B_GEBDATUM_YEAR_1930_1940
-
B_GEBDATUM_YEAR_1930_1950
-
B_GEBDATUM_YEAR_1950_1960
-
B_GEBDATUM_YEAR_1960_1970
-
B_GEBDATUM_YEAR_1970_1980
-
B_GEBDATUM_YEAR_1980_1990
-
B_GEBDATUM_YEAR_isFraudYear Einer der Jahrgaenge mit verstärkt auftretenden Betrugsfällen
-
B_GEBDATUM_YEAR_isMissing
-
B_TELEFON
-
B_TELEFON.numeric
-
CHK_CARD
-
CHK_CARD.numeric
-
CHK_COOKIE
-
CHK_COOKIE.numeric
-
CHK_IP
-
CHK_IP.numeric
-
CHK_KTO
-
CHK_KTO.numeric
-
CHK_LADR
-
CHK_LADR.numeric
-
CHK_RADR
-
CHK_RADR.numeric
-
COMBINATION_53-generated-features 53 generierte Kombinationsfeatures, mit BetrugsW'keit>10% und Support>250 (Ilja: Aufpassen, letzte Spalte Result)
-
COMBINATION_53-generated-features.[0..51] die einzelnen Spalten aus der obigen Datei, außer der letzten
-
COMBINATION_EMAIL-NEUKUNDE !Email+Neukunde
-
COMBINATION_EMAIL-ARTGRP4 !Email+Artikel aus Gruppe 4
-
COMBINATION_EMAIL-RECHNUNG !Email+mit Rechnung bezahlt
-
COMBINATION_EMAIL-TELEFON !Email+!Telefon
-
COMBINATION_NEUKUNDE-ARTGRP4 Neukunde+Artikel aus Gruppe 4
-
DATUM_LBEST
-
DATUM_LBEST-TAGE_SEIT Tage seit der Bestellung
-
DATUM_LBEST-TAGE_SEIT.normalized
-
DATUM_LBEST_MONTHSSINCE_EQ Monate bis/seit dem 1.2005, equi-depth histogramm, 10 bins
-
DATUM_LBEST_MONTHSSINCE_QU, Quantilhistogram
-
DATUM_LBEST_isMissing
-
FAIL_LORT
-
FAIL_LORT.numeric
-
FAIL_LPLZ
-
FAIL_LPLZ.numeric
-
FAIL_LPLZORTMATCH
-
FAIL_LPLZORTMATCH.numeric
-
FAIL_RORT
-
FAIL_RORT.numeric
-
FAIL_RPLZ
-
FAIL_RPLZ.numeric
-
FAIL_RPLZORTMATCH
-
FAIL_RPLZORTMATCH.numeric
-
FLAG_LRIDENTISCH
-
FLAG_LRIDENTISCH.numeric
-
FLAG_NEWSLETTER
-
FLAG_NEWSLETTER.numeric
-
MAHN_AKT
-
MAHN_AKT.normalized
-
MAHN_AKT_isGreaterOne
-
MAHN_AKT_isZero BF, Mahnstufe==0?
-
MAHN_HOECHST
-
MAHN_HOECHST.normalized
-
MAHN_HOECHST_isGreaterOne
-
MAHN_HOECHST_isZero
-
NEUKUNDE
-
NEUKUNDE.numeric
-
SANITY_CHKCARD_VS_ZMETHODE - buck - Wenn die Karte schonmal gesehen wurde, sollte auch mit Karte gezahlt werden. 1, wenn dieser Zusammenhang nicht erfüllt ist
-
SANITY_CHKKTO_VS_ZMETHODE - buck - Wenn das Konto schonmal gesehen wurde, sollte auch mit Rechnung gezahlt werden. 1, wenn dieser Zusammenhang nicht erfüllt ist
-
SESSION_TIME
-
SESSION_TIME_EQ_4 mit 4-bin equi-depth Histogramm transformiert
-
SESSION_TIME_QU Quantilhistogramm
-
SESSION_TIME-NORMALIZED-0..1
-
SESSION_TIME_is1MIN BF, SESSION_TIME==1?
-
SESSION_TIME_isLESS3MIN
-
TAG_BEST
-
TAG_BEST-NUMERIC-1..7
-
TAG_BEST-NUMERIC-1..7.normalized
-
TAG_BEST_isWE BF, 1 wenn am Wochenende bestellt
-
TARGET_BETRUG
-
TIME_BEST
-
TIME_BEST-DAYTIME Uhrzeit diskretisiert in Morgens, Nachmittags, Abends und Nachts
-
TIME_BEST-DAYTIME.numeric
-
TIME_BEST-DAYTIME.numeric.normalized
-
TIME_BEST-MINUTES-SINCE-MIDNIGHT
-
TIME_BEST-MINUTES-SINCE-MIDNIGHT.normalized
-
TIME_BEST_MINUTESsinceMIDNIGHT_EQ normalisiert mit equi-depth-Histogramm, 10 bins
-
TIME_BEST_MINUTESsinceMIDNIGHT_QU Quantilhistogramm
-
WERT_BEST Wert der aktuellen Bestellung
-
WERT_BEST_GES Summierter Bestellwert aller Bestellungen außer aktueller
-
WERT_BEST_+_WERT_BEST_GES ummierter Bestellwert aller Bestellungen mit aktueller
-
WERT_BEST_GES.normalized
-
WERT_BEST_GES-NORMALIZED-0..1
-
WERT_BEST_GES_isZERO
-
WERT_BEST.normalized
-
WERT_BEST-NORMALIZED-0..1
-
WERT_BEST_0_16 BF, liegt Bestellwert im Intervall 0..16?
-
WERT_BEST_100_400 Intervall 100..400?
-
WERT_BEST_16_70 Intervall 16..70?
-
WERT_BEST_70_100 Intervall 70..100?
-
WERT_BEST_EQ Equi-Depth-Histogramm, 10 bins
-
Z_CARD_ART
-
Z_CARD_ART-MISSING-AS-NEW-VALUE Missing values durch Kartentyp "Missing" ersetzt
-
Z_CARD_ART.numeric
-
Z_CARD_ART.numeric.normalized
-
Z_CARD_VALID
-
Z_CARD_VALID-MONTHS_LEFT Monate, bis die Karte verfällt
-
Z_CARD_VALID-MONTHS_LEFT.normalized
-
Z_LAST_NAME
-
Z_LAST_NAME-MISSING-AS-NEW-VALUE Missing Values durch Wert "Missing" ersetzt
-
Z_LAST_NAME.numeric
-
Z_METHODE
-
Z_METHODE.numeric
-
Z_METHODE.numeric.normalized