Parapërpunimi i të dhënave është një teknikë që përdoret për të kthyer të dhënat e papërpunuara në një grup të dhënash të pastër.

Nevoja/Nevoja e përpunimit të të dhënave

  • Të dhënat e botës reale mund të përmbajnë zhurma, vlera që mungojnë dhe formate të papërdorshme të cilat nuk mund t'i përdorim drejtpërdrejt për modelet e mësimit të makinerive.
  • Kërkohet parapërpunimi i të dhënave për pastrimin dhe formatimin e të dhënave për t'i bërë ato të përshtatshme për një model të mësimit të makinës.
  • Parapërpunimi i të dhënave rrit gjithashtu saktësinë dhe efikasitetin e një modeli të mësimit të makinës.

Po ndryshon kornizat e të dhënave

Grupet e të dhënave shpesh mund të përmbajnë të dhëna që mungojnë. Ne gjithashtu duhet të trajtojmë ato të dhëna që mungojnë. Dështimi për të marrë masat paraprake të nevojshme mund të shkaktojë dështimin e programit.

Cila kolonë duhet të përjashtohet?

  • Cila kolonë nuk do të përdoret
  • Nëse ka kolona por nuk ka të dhëna
  • Nëse e njëjta kolonë ekziston më shumë se një herë, mbani një dhe fshini pjesën tjetër
  • Ndonjëherë emri mund të duket si dy kolona të ndryshme, por në fakt gjëja është e njëjtë. Nuk është e mundur të nxirren të njëjtat të dhëna me llogaritje me dorë dhe as atëherë nuk është një metodë efikase. Këto kolona shtesë në fakt gjenerojnë zhurmë në grupin e të dhënave. Ne do të ndajmë kolona të ngjashme përmes analizës statistikore (këtu Korrelacioni).

Çfarë është kolona e ndërlidhur?

Për shembull,në një grup të dhënash, shkruhet një kolonë Gjatësia (metër) dhe në një kolonë tjetër Madhësia (centimetër) shkruhet, ku ne merrni të dhënat e madhësisë duke shumëzuar çdo të dhënë të gjatësisë me 100.

  • Nëse të njëjtat të dhëna janë në një format paksa të ndryshëm, gjatësia dhe madhësia në shembullin e mësipërm janë në fakt të njëjtat gjëra, vetëm njësia është e ndryshme. Kjo do të thotë se ato janë kolona e ndërlidhur.
  • Shtoni pak informacion ose jo.
  • Ngatërroni algoritmet e të mësuarit.

Shembull i kolonës së ndërlidhur

Le të sjellim problemin e famshëm Parashikimi i çmimit të shtëpive.

Pa i kontrolluar mirë kolonat e grupit të të dhënave, u ula të parashikoja me formulën e mëposhtme (formula e regresionit linear),

Çmimi=α∗Sipërfaqja+β×Madhësia+γ×noOfDhomat

Siç e pamë në regresionin linear, ne shumëzojmë çdo veçori (ndryshore hyrëse) me një koeficient dhe më pas i shtojmë ato për të parashikuar daljen. Por këtu të kesh dy herë të njëjtën kolonë Sipërfaqja & Madhësia nuk do të parashikojë kurrë saktë çmimin e prodhimit.

Nëse ka shumë kolona, ​​dhe të gjitha kanë emra dhe të dhëna të ndryshme, por në fakt janë sinonime të njëra-tjetrës të bazuara në njësi, nxjerrja e tyre është një rast përdorimi shumë kompleks. Pra, ne do të marrim ndihmën e një teme të rëndësishme të statistikave (Korrelacioni) këtu.

Koeficienti i korrelacionit të Pearson ose ri i Pearson

Thirrja e funksionit të korrelacionit në bibliotekën e Pandas llogarit korrelacionin sipas formulës së mëposhtme.

Në këtë formulë, x është një ndryshore, dhe y është një variabël tjetër. Duhet të gjejmë vlerën e r. Vlera e r na tregon se sa mirë janë të ndërlidhura dy variabla.

Nëse r = 1, atëherë nuk ka asnjë ndryshim midis dy variablave, kështu që llogaritja e korrelacionit të çdo ndryshoreje me vetveten jep vlerën e r si 1.

Nëse dëshironi më shumë shpjegim, nëse llogaritni koeficientin e korrelacionit midis Acre dhe metër katror në shembullin e mësipërm, vlera e r do të jetë 1.

Nxirrni pjesën null ose boshe të grupit të të dhënave

Tani le të shohim se si të zbulojmë nëse ka ndonjë të dhënë që mungon në ndonjë kolonë të grupit të të dhënave.

Hapni fletoren e krijuar më parë dhe futni kodin e mëposhtëm,

print data_frame.isnull().values.any()

isnull()

Ai kthen të njëjtën kornizë të të dhënave, por ndryshimi është se nuk ka më vlera, qelizat e zbrazëta zëvendësohen me True dhe qelizat jo të zbrazëta zëvendësohen me False.

vlerat.ndonjë()

isnull() kthen një kornizë të dhënash, por nëse jepen .values ​​ai bëhet një grup i True/False.

Funksioni .any() kontrollon nëse ndonjë vlerë në grup është bosh.

Nuk ka të dhëna bosh në skedarin pima-data.csv. Pra, thirrja e kësaj deklarate të programit kthen False.

Krijimi i një harte nxehtësie të matricës korrelacioni

Tani kemi mësuar pak për Korrelacionin dhe kemi parë se si të zbulojmë çdo vlerë të fshehur Null në një grup të dhënash. Tani le të shohim se si të gjenerojmë Heatmap të Matricës së Korrelacionit. Përpara kësaj, le të themi se çfarë është Heatmap.

Harta e nxehtësisë

Sipas Wikipedia,

Një hartë e nxehtësisë (ose harta e nxehtësisë) është një paraqitje grafike e të dhënave ku vlerat individuale të përfshira në një matricë përfaqësohen si ngjyra.

Kjo do të thotë, ne zëvendësojmë vlerat numerike me ngjyra dhe gjenerojmë një komplot. Kjo do të ishte Heatmap.

Kjo do të thotë, harta e nxehtësisë e korrelacionit po vizaton vlerat e korrelacionit në një grafik duke i zëvendësuar ato me ngjyra.

Harta e nxehtësisë e korrelacionit

Ne kemi parë se si të llogarisim korrelacionin midis dy variablave. Pyesni veten, a është më e lehtë të krahasoni vlerat apo ngjyrat me pikë lundruese? Sigurisht, është e lehtë të krahasosh ngjyrat.

Për të zgjedhur një variabël dhe për të gjetur korrelacionin me secilën variabël, ne do të rregullojmë rreshtat dhe kolonat e variablit,

Siç u tha më herët, korrelacioni i një ndryshoreje me vetveten do të jetë gjithmonë 1. Të gjitha vlerat përgjatë diagonales së tabelës duhet të jenë 1 sepse ato janë të ndërlidhura mes tyre.

Tani gjëja e rëndësishme është të zgjidhni ngjyrën e hartës së nxehtësisë. Mos u shqetësoni, ne mund t'ia dalim me hartën me ngjyra të integruara të bibliotekës Matplotlib për momentin.

Funksioni për të krijuar hartën e nxehtësisë

Le të shkruajmë një funksion për të gjeneruar shpejt hartat e nxehtësisë, funksioni do të duket kështu

Pse e përdora nënplotësinë?

plt.subplots(figsize=(madhësia, madhësia))

Komplotet e përshtatshme të madhësisë arbitrare mund të gjenerohen duke caktuar madhësi për nënplotesa.

Çfarë janë xticks dhe yticks?

plt.xticks(range(len(korrelacion.kolona)), korrelacion.kolona)

Siç nënkupton ky kod, çdo bllok do të ketë një gjatësi prej 1 njësi dhe rriqrat do të jenë 0, 1, 2 … deri në len (korrelacion.kolona). Dhe çdo bllok është etiketuar me argumentin tjetër (korrelacioni.kolona).

E njëjta gjë vlen edhe për plt.yticks..

Çfarë bëhet me plt.show()?

plt. show() fillon një cikli eventi, kërkon të gjitha objektet e figurës aktualisht aktive dhe hap një ose më shumë dritare interaktive që shfaqin figurën ose figurat tuaja. Plt. Komanda show() bën shumë nën kapuç, pasi duhet të ndërveprojë me prapavijën grafike interaktive të sistemit tuaj.

Sigurimi i hartës së nxehtësisë nëpërmjet funksionit corr_heatmap (korniza_të dhënave, madhësia)

Ne mund ta hartojmë lehtësisht hartën e nxehtësisë me fragmentin e kodit të mëposhtëm,

corr_heatmap (korniza_të dhënash)

shënim

E pamë më herët se nëse dy ndryshore janë të ngjashme, atëherë korrelacioni i tyre do të jetë 1. Çdo ndryshore në diagonale është në korrelacion me vetveten, kështu që blloqet në diagonale janë me të njëjtën ngjyrë.

Pastrimi i grupit të të dhënave

Veçori e Tidy Data ishte se çdo kolonë duhet të jetë unike. Nëse kemi kolona të të njëjtit lloj, atëherë një nga dublikatat duhet të mbahet dhe pjesa tjetër të eliminohet nga grupi i të dhënave.

Ne ishim në gjendje të hidhnim një kolonë të kopjuar. Puna nuk ka përfunduar ende, të dhënat duhet të formohen. Ky është hapi i fundit i përgatitjes së të dhënave.

Formimi i të dhënave

Rregullimi i llojit të të dhënave

Të dhënat tona duhet të jenë të tilla që të jenë të përshtatshme për të gjithë algoritmet për të punuar. Përndryshe, ne duhet të shkulim të dhënat për secilin algoritëm që është mjaft i mundimshëm. Kështu që ne do ta bëjmë punën e mundimshme një herë në vend të përsëritjes që të mos na bëhet dhimbje koke.

Kontrollimi i llojit të të dhënave

Le të kontrollojmë llojet e të dhënave përpara se të formojmë të dhënat.

data_frame.head()

Nëse e bëni këtë, do të shihni përsëri disa mostra të kornizës së të dhënave dhe do të vini re se të gjitha vlerat këtu janë tip float ose numër i plotë, por një mbetet tip Boolean.

Po ndryshon llojin e të dhënave

Ne do të vendosim True si 1 dhe False si 0. Puna mund të bëhet me copëzimin e kodit të mëposhtëm,

Tani, ne mund ta vendosim këtë grup të dhënash të formuar dhe të pastruar dhe të punojmë me algoritmin sipas dëshirës tonë.

Rregulli #3 i të dhënave

Ngjarjet e rralla nuk ka gjasa të parashikohen me saktësi të lartë.

Natyrisht, ngjarjet e rralla nënkuptojnë se grupi juaj i të dhënave do të ketë më pak ngjarje të tilla. Dhe sa më i vogël të dhënat e ngjarjeve të tilla, aq më i keq është parashikimi. Por është më mirë të mos shqetësoheni për këtë. Së pari fiksoi parashikimet konvencionale, më vonë fiksoi ngjarje të rralla.

Kontrollimi i raportit të vërtetë / e gabuar

Nëse duam, mund të shohim se sa njerëz kanë diabet në këtë grup të dhënash dhe sa njerëz e nxjerrin fletoren dhe e shkruajnë shpejt kodin.

‍‍Rregulli #4 i të dhënave

Mbaje dhe kontrollo rregullisht historinë e manipulimit të të dhënave

  • Ekziston një mënyrë për ta bërë këtë (duke përdorur Jupyter Notebook).
  • Përdorimi i sistemeve të kontrollit të versioneve, si Git, SVN, BitBucket, GitHub, GitLab, etj.

Përmbledhje

Çfarë mësojmë nga këta dy artikuj mbi Përgatitjen e të Dhënave:

  • Lexoni të dhënat me Pandat
  • Koncepti i bashkëlidhjes
  • U hoqën kolonat e kopjuara
  • Formoi të dhënat
  • Kontrolluar raportin e vërtetë / e gabuar