Raffinering av data

Smart verktøy hjelper deg med å få oversikt over datasettet, "vaske" det og gjøre det klart for analyse og presentasjon.

Når data-jak­ten gir resul­ta­ter, og du ende­lig får hen­de­ne på et saf­tig data­sett — hva da? Jo, det skal jo inn i en data­base, eller Excel eller SPSS eller et annet verk­tøy, for ana­ly­se. Om målet er å lage en webap­pli­ka­sjon eller skri­ve en artik­kel, så tren­ger du over­sikt over hva data­set­tet inne­hol­der. Og kan­skje en liten data­vask?

Vaskehjelp

Goog­le Refine er et open source-pro­gram for nett­opp det­te. Det er hver­ken en data­base eller et regne­ark­pro­gram — det er litt beg­ge deler. For deg som synes pro­gram­me­ring høres skum­melt ut, slapp av, det­te er ikke nød­ven­dig­vis mer kom­pli­sert enn Excel. Det lik­ner til og med litt. For deg som synes Excel høres litt uproft og begren­set ut, slapp av, du kan scrip­te (Jyt­hon, Clo­ju­re og et eget GEL, grid­works expres­sion lan­gua­ge) og eks­por­te­re til fle­re for­nuf­ti­ge for­ma­ter. Pro­gram­met lar deg vas­ke data, få over­sikt, gjø­re små ana­ly­ser, og eks­por­te­re til vide­re bruk. Det kre­ver ikke noen spe­si­el­le for­kunn­ska­per, og kan fritt tas i bruk av alle. Det kan se ut som om du las­ter data­ene opp til en ser­ver, da pro­gram­met kjø­rer i nett­le­se­ren, men det gjør det hel­dig­vis ikke, og du kan ana­ly­se­re og vas­ke ditt hem­me­li­ge data­sett i fred.

Hvordan kommer jeg i gang?

Last ned og instal­ler Goog­le Refine. Så las­ter du inn et data­sett.

For enkel­hets skyld bru­ker jeg vide­re data om idretts­an­legg pos­tet på data.norge.no. Det­te data­set­tet er en .csv-fil, alt­så en tekst­fil med kom­ma-sepa­rer­te ver­di­er*. Ved å sjek­ke filens inn­hold** kan vi se at det ikke er kom­ma (,) men semi­ko­lon (;) som sepa­re­rer ver­di­ene. Vi ser også at filen ikke har noen rad øverst med for­kla­ring på hva som er i hver kolon­ne. Det­te er ting som Goog­le Refine spør om når du star­ter et nytt pro­sjekt, så en liten sjekk av data­ene i din favo­ritt tekst-edi­tor er påkrevd.

google refine start project

Husk å vel­ge rik­tig sepa­ra­tor, og skriv inn 0 i bok­sen for hea­der hvis det ikke er noen. Ellers spi­ser Goog­le Refine den­ne raden.

Datasettet er vellykket lastet inn i Google Refine — grei skuring

Du og jeg ser for­skjell på på Tuf­te IL og tuf­te i.l. I en data­base hvor vi skal hen­te ut alle idretts­plas­ser som til­hø­rer det­te idretts­la­get kan det­te tol­kes som to uli­ke ting. Vide­re har vi pro­ble­mer som Tuf­te IL og Tufet IL. Det­te er feil som sli­ke data­sett ofte inne­hol­der. De er laget av men­nes­ker, og vi men­nes­ker gjør mas­se sli­ke feil. I Goog­le Refine kan du gjø­re bot på and­res syn­der. Via et rela­tivt rikt arse­nal av funk­sjo­ner kan du ret­te opp sli­ke feil i alle rade­ne på en gang. Vel, en ret­tel­se av gan­gen, men på alle rade­ne sam­ti­dig. «Finn og erstatt» igjen. Det er også mer avan­ser­te algo­rit­mer for å fin­ne og grup­pe­re sli­ke tekst­li­ge lik­he­ter. Pro­gram­met inne­hol­der en hel del uli­ke måter å vas­ke data­ene på, både for tekst og tall.

cluster

Goog­le Refine har fle­re algo­rit­mer for å fin­ne cel­ler som inne­hol­der nes­ten det sam­me, og lar deg erstat­te alle feil­sta­vin­ger og and­re språk­li­ge avvik.

NB: Vær var­som med de mer avan­ser­te tekst-funk­sjo­ne­ne hvis du ikke er helt sik­ker på hva som fore­går. Det er lite for­skjell på Tuf­te IL ogtuf­te L.i, men mer alvor­lig hvis du slår sam­men Åsen IL med Tåsen IL eller Os kom­mu­ne med Ås kom­mu­ne. Pro­gram­met vil fore­slå sli­ke lik­he­ter som poten­si­el­le kan­di­da­ter til sam­men­slå­ing også, det vil nep­pe folk på Tåsen, Åsen, Os og Ås bli gla­de for.

Inspeksjon: Minianalyse med facets

google refine facets

Vide­re kan du lage «facets» eller «aspek­ter», som er wid­gets som lar deg trek­ke ut sub­set av data­set­tet. Slik kan du raskt skaf­fe deg over­sikt. For eksem­pel tok det to minut­ter å fin­ne ut av data­set­tet om idretts­an­legg har 3401 skyte­an­legg, 101 ake­bak­ker, 33 mini­golf­ba­ner og 17 turn­an­legg. For en del opp­ga­ver vil det­te være nok. Dis­se «faset­te­ne» er enkelt og greit spør­rin­ger i data­ba­sen, og trek­ker ut deler av data­ene basert på uli­ke para­met­re.

For eksem­pel kan du lett hen­te ut alle fot­ball­an­legg, alle anlegg som eies pri­vat eller anlegg som som ikke er eiet av stat/kommune/fylkeskommune. Vide­re viser det seg fort at de 51695 anleg­ge­ne som fin­nes stort sett er struk­tu­rert på et til­strek­ke­lig kon­sis­tent vis til at det vil kun­ne bru­kes vide­re. Koor­di­na­ter for loka­sjon fin­nes også, og med en run­de i et GIS-verk­tøy vil vi kun­ne hen­te ut enhe­ter etter loka­sjon.

I illust­ra­sjo­nen over er anleggs­ty­per som har med fot­ball valgt, det er enkelt å eks­por­te­re kun dis­se til en fot­ball-app, hvis noen entu­si­as­ter vil lage en.

Det er man­ge og mer avan­ser­te funk­sjo­ner i Goog­le Refine, du fin­ner dem beskre­vet på pro­sjekt­si­den til pro­gram­met på code.google.com/p/google-refine. Det fin­nes også noen video-bruks­an­vis­nin­ger som gir et greit inn­blikk: video1, video2, video3.

Eks­port gjø­res til et utvalg for­ma­ter, et du kan bru­ke fin­ner du nok.

Må vi vaske?

Som Fak­ta først-rap­por­ten viser, er kva­li­tet et av hind­re­ne (av fle­re) som gjør at data­hol­de­re i offent­lig sek­tor tre­ger med å dele data. Vide­re har f.eks. Avinor erfa­rin­ger med at å åpne opp data kan hjel­pe til å heve kva­li­te­ten på dem. Det­te inne­bæ­rer at noen som ikke er Avinor har gitt til­bake­mel­ding. Det er bra for beg­ge par­ter. Så ja, vi må vas­ke, i alle fall i star­ten. Hel­dig­vis er ikke det­te nød­ven­dig­vis en vel­dig vans­ke­lig jobb, og med verk­tøy som Goog­le Refine kan det også bli en gans­ke effek­tiv pro­sess. Hvis vi øns­ker å gjen­bru­ke data, må vi også set­te oss ned for å for­stå data­ene, vas­ke og pus­se dem, og der­nest set­te i gang videre­bruk. Det er rådata som er mest inter­es­sant å gjen­bru­ke, og rådata er nett­opp det, rå.

Lyk­ke til med data­vas­ken!

PS: Det er selv­sagt man­ge uli­ke meto­der for data­vask, den­ne teks­ten omta­ler kun én. Grun­nen til at Goog­le Refine blir truk­ket fram er den uvan­li­ge kom­bi­na­sjo­nen av data­base, regne­ark og scrip­ting. Det er også gra­tis og open source, og gjør just data­vask-job­ben bed­re enn alle and­re verk­tøy jeg har kjenn­skap til.

* Jeg fant at det­te data­set­tet har noen rari­te­ter, f.eks. er noen rader inn­kaps­let i gåse­tegn («), som gjør at det blir noe kluss. Find & replace sli­ke tegn med ingen­ting () og lag­re. Så vidt jeg ser ska­per det­te ikke noen vide­re pro­ble­mer for data­ene. Den­ne «find & replace»-prosessen gjør du i en egnet tekst­be­hand­ler
** Du kan sjek­ke filen i f.eks. Note­p­ad, Tex­t­edit eller i et annet tekst­be­hand­lings­verk­tøy (tex­t­Mate for Mac er min favo­ritt, Note­p­ad++ for win­dows er etter sigen­de også fine saker, det fin­nes mye bra open source-ting for Linux).

TEMA

O

ffentli
ge data

116 ARTIKLER FRA VOX PUBLICA

FLERE KILDER - FAKTA - KONTEKST

2 KOMMENTARER

  1. […] This post was men­tio­ned on Twit­ter by Vox Pub­li­ca, Offent­li­ge data. Offent­li­ge data said: Raf­fi­ne­ring av data: Smart verk­tøy hjel­per deg med å få over­sikt over data­set­tet, «vas­ke» det og gjø­re det klart f… http://bit.ly/bjqocv […]

  2. Nå har «the News Appli­ca­tions team» hos Chi­ca­go Tri­bu­ne laget en utvi­del­se som lar deg gjø­re typis­ke «mat­te-opp­ga­ver» rett i goog­le refine. For jour­na­lis­ter på jakt etter gjen­nom­snitt, høy­es­te og laves­te ver­di, total sum og opp­tel­ling av antall enhe­ter, osv, er det­te en svært enkel måte å hen­te ut sli­ke ver­di­er uten å skri­ve data­base­spør­rin­ger.

    Les mer på blog.apps.chicagotribune.com.

til toppen