Kjenn dine data

Inge Johnsen
Dec 14, 2018 · 3 min read

Når man starter et maskinlæringsprosjekt er det veldig fristende å gå rett på de forskjellige maskinlæringsalgoritmene. I et forsøk på å profesjonalisere maskinlæringsutviklingsprosessen gjør vi nå alltid en analyse av dataene vi har før vi begynner på algoritmene. Enkle kalkuleringer og plotting kan gi et godt innblikk i hva dataene inneholder som gjør jobben enklere og fremtidige diskusjoner mer relevante.

I dette eksempelet skal vi klassifisere transaksjoner i ulike grupper som mat, bolig osv. Som grunnlag har vi hatt i overkant av 8 millioner anonymiserte transaksjoner. Vi har sett nærmere på feltene alder, nasjonalitet, transaksjonsbeløp og transaksjonstekst.

Alder:

Nasjonalitet:

Transaksjonsbeløp:

Total antall innbetalinger 1,25 millioner
Total antall betalinger 6,96 millioner
Betalinger / innbetalinger 5

Gjennomsnittlig innbetaling 7200,-
Median innbetaling 1000,-
Max innbetaling > 1000000,-

Gjennomsnittlig betaling 7100,-
Median betaling 200,-
Max betaling > 1000000,-

Igjen har vi å gjøre med numeriske felt. Noe overraskende for min del er at det bare er 5 betalinger per innbetaling, noe som er ganske annerledes enn mitt personlige transaksjonsmønster. Ellers er det verdt å merke seg at gjennomsnittlig betaling er mye høyere enn medianen. Det betyr at en vanlig betaling ligger rundt 200,- men at noen svært høye betalinger trekker opp snittet.

Transaksjonstekst:

Mest frekvente ord (ord, frekvens)

(‘kurs’, 788613),
(‘nok’, 571141),
(‘betalt’, 553973),
(‘as’, 550068),
(‘til’, 517538),
(‘oslo’, 473575),
(‘rema’, 366351),
(‘nettgiro’, 328937),
(‘fast’, 322831),
(‘coop’, 320374),
(‘kiwi’, 315268),
(‘beløp’, 314279),
(‘fra’, 307501),
(‘småsparing’, 285038),
(‘stk’, 282078),
(‘trondheim’, 248307),
(‘stavanger’, 160188),
(‘nettbank’, 144408),
(‘er’, 140844),
(‘trans’, 139092),
(‘type’, 138659),
(‘extra’, 130695),
(‘vipps’, 126544)

Vi brukte også nltk for å sjekke collocations. Dette er ord som naturlig hører sammen og kan nesten regnes som et ord. Tenk New York!

Collocations

fast beløp;
stk fast;
beløp Småsparing;
COOP PRIX;
COOP MEGA;
4819 NAV;
NAV Pensjon;
COOP OBS;
COOP EXTRA;
TELENOR NORGE;
Ruter billett

Her kan man tenke seg at man kunne brukt f.eks “COOP PRIX” som ett ord når man vektoriserer feature vectoren.

Konklusjon:

SpareBank 1 Utvikling

Vi jobber med digitale løsninger hos SpareBank 1. Vi liker å skrive om det vi brenner for

Thanks to Vidar Moe and Jan Erik Modal.

Inge Johnsen

Written by

SpareBank 1 Utvikling

Vi jobber med digitale løsninger hos SpareBank 1. Vi liker å skrive om det vi brenner for