Resource

Pastrimi i të dhënave me OpenRefine

Resource


By Tony Hirst from the Open Knowledge Foundation

Kurdo që të punoni më të dhënat e vërteta, nuk është aspak e zakontë të ndesheni dhe me të dhëna që nuk ka nevojë të punohet fort me mjete me të cilat jeni duke u përpjekur për ti ngarkuar, apo nuk janë të strukturuara në atë mënyrë që të mund t’i përdorni si më të përshtatshme.

Një shembull i mirë i kësaj janë të dhënat të cilat përshkruajnë informacione financiare, ku vlerat e “shumës” së një kolone, të cilat vijnë në një formë që na e bën të kuptueshme, por që ngatërrohet midis tabelash apo në kombinimin e mjeteve të skicuara. Për shembull, shumat mund të kenë një emërtim të monedhës (të tilla si 5000 $ ose €2000) ose përmbajnë ndarëse që shënojnë vlerën jashtë si një pjesë e tekstit më tepër se një numër, të tilla si në rastin e 10,000.12 sesa 10.000,12, ose 1.500 .250,12 sesa 1500250,12 (ose ndoshta edhe 1.500.250,12 në varësi të konventës së numërimit që është duke u përdorur). Sa kohe ajo shpesh mund të përdore një editues teksti ose tabela për të kërkuar dhe zëvendësuar ndonjë karakter të padëshiruar brenda tek të dhënat,  ekzistojnë disa rreziqe që lidhen me lejen për një qasje të tillë. Për shembull, një kërkim global dhe zëvendësimi mund të largojë karakteret legjitime të cilat shfaqen diku në një grup tjetër të dhënash. Përveç kësaj, pa një rekord ndryshimesh të bëra në grupin origjinal të të dhënave, vështirësitë mund të hasen kur vjen puna për të treguar burimin apo korrektësinë e pastrimit të të dhënave. Një rrugë shumë më mirë është përdorimi i mjetit siç është OpenRefine (në dispozicion nga OpenRefine.org) ose the OKF Labs Data Explorer. Ja një shembull duke përdorur OpenRefine:

Çfarë do të thotë shprehja - zëvendëso ndonjë karakter (vlera.zëvendëso()) në setin (/ [] /), që përmban karakteret â‚Ź$ÂŁ, me asgjë (që është, një varg i zbrazët:’’). Një nga avantazhet e përdorimit të mjeteve të tilla është se ata mund të gjenerojnë “ndryshime në shkrime” pikësynimi i të cilave është te ndryshimet që bëhen në të dhënat origjinale dhe të cilat na lejojnë të verifikojmë apo kontrollojmë çdo lloj ndryshimi që është bërë në ato të dhëna, pastaj ne mundemi ta pastrojmë atë. OpenRefine gjithashtu ju lejon të ktheni pas (undo) ndonjë nga ndryshimet e pasakta që keni bërë për te të dhënat, mandej ju mund të punoni mbi mënyrën se si do ta pastroni atë.

Kur është një numër jo numër?

Edhe nëse ju keni hequr padashur ndonjë shenjë pikësimi nga një numër, ajo ende mund të karakterizohet si një varg teksti (që është, si një sekuencë e karaktereve në tekst), sesa në një sasi numerike. Klasifikimi i numrave si vargje tekstesh në vend të numrave aktualë, mund të kenë shumë efekte të pasuksesshme anësore, ashtu si për fat mund të jetë pjesë e një vargu të ngushtë, i cili jep urdhër që ndërsa “korrekton”, nuk është domosdoshmërish i nevojshëm dhe shumë kuptimplotë ky veprim. Për shembull, këtu është rezultati i klasifikimit të grupit të numrave të përfaqësuara si karaktere vargjesh, me numrat që shfaqen në mënyrë që ne mund të presim në qoftë se ato janë të përfshira në fjalor.

Në një rast të tillë, mund të jetë i nevojshëm deklarimi i tipit të kolonës si një lloj numri sa numerik i plotë ose <em <lundrues <em=""> (që është, numër pikë lundrues - zakonisht - një numër i vërtetë me pika decimale në të) përpara klasifikimit mbi të, në mënyrë që të keni një renditje numerike.

Çështje të ngjashme rreth rregullave të papritura mund të dalin kur ju jeni duke bërë përpjekje për të renditur kolonat që përmbajnë vlerat e të dhënave nëse kolona nuk njihet si përfaqësuese e elementeve që duhet të interpretohen si të dhëna.

 

Jashtë kufijve

Të gjithë e dimë se sa e lehtë është të bësh një gabim tipografik kur shkruajmë një pjesë të tekstit, por gabimet bëhen shumë gjithashtu, kur bëhet fjalë për numra. Një pjesë e rëndësishme e pastrimit të të dhënave është kërkimi apo kontrolli për çdo numër që ju jeni duke shkruar, e që ka të bëj me kufirin e mundshëm, madje edhe nëse ju nuk mund ta kontrolloni atë për çdo numër, në të vërtetë është e saktë. Nëse keni një kolonë të numrave në të dhëna, shpesh ka kuptim për të pasur një vështrim të shpejtë në varg dhe shpërndarjen e numrave, për të parë nëse ka ndonjë veçanti të dukshme. Për shembull, supozojmë se unë jam duke pritur një grup të numrave që të kenë vlera që bien brenda intervalit 0 deri në 1000, por në aspektin e pikëpamjes numerike OpenRefine më tregon mua numra jashtë këtij vargu?

Duke përdorur kursorin, ne mund të filtrojmë të dhënat mes rreshtave për të parë se cila prej tyre përmban elemente në kolonën e specifikuar e cila bie jashtë vargut të pritshëm.

Kur gjërat që duhet të jenë të njëjta nuk janë ...

Një tjetër problem që lidhet zakonisht me të dhënat, lind nga gjërat të cilat supozohet të jenë të njëjta duke u shkruar në mënyra të ndryshme, dhe jo domosdoshmërish vetëm si rezultat i një gabimi tipografik. Për shembull, këtu është një pjesë e listës së gjatë unike, të gjoja emrat e kompanive, të cilat shfaqen në një kolonë të veçantë në një pjesë të veçantë të të dhënave. Shembull  Kompania Ltd Shembull Kompania e Limituar Shembull Kompania Ltd. SHEMBULL KOMPANIA E LIMITUAR Një tjetër Kompani Ltd... Në këtë rast, ne kemi disa emra imagjinarë kompanish, shumica e të cilave duken sikur janë të gjitha të njëjta, por ndryshojnë pak nga shkrimi i germave  të mëdha ose drejtshkrimi i plotë. Dy prej emrave gjithashtu duken identikë (Shembull Kompania Ltd) - në këtë rast, nuk ka një hapësirë ​​bosh në fund të një prej emrave që e bën atë të ndryshëm nga tjetra në drejtim të vargut shkrues. Për të përballuar të tilla vargje, ne mund të jemi në gjendje t’i drejtohemi një mjeti i cili bën të mundur largimin e karaktereve të padëshiruara, hapësirat boshe të bardha, apo të “normalizojmë” shkrimin e germave sipas një konvente të veçantë (të tilla si shkrimi  i shkronjës së parë të çdo fjalie me germën e madhe, apo vetëm të shkronjës së parë në një fjali). Në rastet më ekstreme, ne mund të duam të konvertojmë apo kthejmë çdo gjë për secilin rast pakësimin ose sipas karaktereve të mësipërme.

Për vargjet që pothuajse përputhen, ne mund të përdorim një familje të teknikave  që shpesh i referohen përputhjes së pjesshme të vargjeve. Këto teknika kanë për qëllim të shikoni në vargje ndryshimin e vetëm në një numër të vogël të karaktereve, apo të kërkoni vetëm një numër të vogël të redaktimeve për të ndryshuar njërin varg nga tjetri. Duke zbuluar pjesërisht vargjet që përputhen, atëherë ne mund të vendosim nëse ne duam t’i “normalizojmë” ato - që është, rishkrimi i disave ose i gjithë vargu i shkruar që përputhet pjesërisht në mënyrë që ata të jenë të njëjtë.

Ndonjëherë ne mund të duam të grumbullojmë vargje që përsëriten, ose mund të zgjedhim të rishkruajmë grupime të ndryshme të zbuluara si e njëjta gjë. Përveç ngjashmërisë, masat bazohen në karakteret e përdorura në çdo varg, ne gjithashtu mund të jemi në gjendje të grumbullojmë artikujt në një bazë “ngjashmërie”:

Të jesh në gjendje t’i pastrosh të dhënat në këtë mënyrë, mund të jetë një teknikë me të vërtetë e fuqishme, edhe pse nevojitet kujdes për të mos bashkuar artikujt që janë në fakt të dallueshëm. Marrja e të dhënave tuaja në Shape

Një tjetër formë tjetër e përgatitjes së të dhënave ka të bëjë me riorganizimin e të dhënave të marra në të, si një formë që ju mund të jeni në gjendje për ta shfaqur duke përdorur mjete të tilla si tabela e Datawrapper, ose mjete skicuese në Data Explorer. Për shembull, ju mund të keni të dhëna në një formë ku vlerat në një kolonë të veçantë, në vend të kësaj mund të përdoren për t’i grumbulluar së bashku të dhënat, nga disa rreshta në një rresht të vetëm me kolona shtesë:

Në anën tjetër, ju mund të keni të dhëna të përfshira brenda një kolone të veçantë e cila mund t’ju lejojë të hartoni një rresht mbi shumë rreshta për një arsye apo një tjetër:

Në raste të tjera, ju thjeshtësisht mund të keni “mospërputhje” në të dhënat tuaja të cilat duhet të plotësohen. Përsëri, mjetet për pastrimin e të dhënave mund t’ju ndihmojnë ta rregulloni këtë lloj problemi në një mënyrë të drejtpërdrejtë.

Operacionet më komplekse për riformimin janë gjithashtu të mundshme, por kjo duhet t’ju japë një shije të ...

Me i vendos të gjitha pjesët së bashku Siç e kemi parë, pastrimi i një sërë të dhënash mund të përfshijë hapa të shumtë e të ndryshëm, që nga heqja e karaktereve të padëshiruara në vargjet shkruese që dallojnë nga njëri-tjetri, aq sa shumë prej aplikimeve mund të jetë shqetësuese. Spastrimi i të dhënave mund të përfshijë edhe disa aktivitete të tjera të përgatitjes së të dhënave të lidhura, të tilla si: riformimi i të dhënave për të rimarra atë në një format që ju lejon të punoni me të duke përdorur mjetet e gatshme skicuese në dispozicion që supozohet që këto të dhëna të prezantohen në një mënyrë të veçantë.

Photo in this article was published by JD Hancock  on FLICKR under a CC BY 2.0 License

Data

10/21/2013 - 13:38