Kuidas õppida pandasid

Selles postituses kirjeldan pandade õppimise strateegiat. Neile, kes pole sellest teadlikud, on pandad teadusliku Pythoni ökosüsteemi populaarseim raamatukogu andmete analüüsi tegemiseks. Panda on võimeline täitma paljusid ülesandeid, sealhulgas:

  • Paljude erinevate andmevormingute lugemine / kirjutamine
  • Andmete alamhulkade valimine
  • Arvutamine ridade ja alumise veeru järgi
  • Puuduvate andmete otsimine ja täitmine
  • Operatsioonide rakendamine sõltumatutele rühmadele andmete piires
  • Andmete ümbervormistamine eri vormidesse
  • Mitme andmekogumi kombineerimine
  • Täiustatud aegridade funktsionaalsus
  • Visualiseerimine matplotlibi ja merepõhja kaudu

Saa eksperdiks

  • Minu raamat Pythoniga seotud põhiandmete analüüs on kõige laiahaardelisem tekst, mille abil õppida andmete analüüsi Pythoni abil ning see sisaldab 300+ harjutust ja projekti.
  • Registreerumine TASUTA sissejuhatusse Pandasse
  • Jälgi mind Twitteris @TedPetrou minu igapäevaste andmeteaduste trikkide osas

Ehkki pandad on väga võimekad, ei paku see funktsionaalsust kogu andmetöötluse jaoks. Pandas on tavaliselt andmete uurimiseks ja puhastamiseks kasutatav vahevahend, mis on eraldatud andmete hõivamise ja säilitamise ning andmete modelleerimise ja ennustamise vahel.

Data Science Pipeline

Tüüpilise andmeteadlase jaoks on pandadel suurim roll, kuna andmed liiguvad torujuhtme kaudu. Üks mõõdik on selle kvantifitseerimiseks rakenduse Stack Overflow trendidega.

Praegu tegeleb panda Stack Overflow'iga rohkem kui ükski teine ​​Pythoni andmeteadusteeki ja moodustab hämmastava 1% kõigist kogu saidil esitatud uutest küsimustest.

Virna ülevoolu ületarbimine

Ülaltoodud diagrammi põhjal on meil tõendeid, et pandasid kasutavad paljud inimesed ja nad on ka segamini. Olen vastanud umbes 400 pandadega seotud küsimusele Stack Overflow kohta ja näen kohe, kui halvasti raamatukogu mõisteti. Kõigi selle suurepärasuse jaoks, mille Stack Overflow programmeerijatele on andnud, on sellel märkimisväärne varjukülg. Kohene vastuse leidmine on suur takistus dokumentide ja muude ressursside iseseisvaks kasutamiseks. Ma arvan, et oleks hea mõte pühendada igal aastal paar nädalat sellele, et Stack Overflow'i ei kasutataks.

Üksikasjalik juhend pandade õppimiseks

Paar nädalat tagasi postitasin r / datascience subredditisse lihtsa juhendi, kui keegi pandade harjutamiseks abi palus. Järgnev täpsustab selle postituse teavet.

Alustuseks ei tohiks teil tegelikult olla eesmärk pandasid õppida. Teadmine, kuidas raamatukogus toiminguid teostada, on küll kasulik, kuid see pole peaaegu sama kasulik kui pandade õppimine viisil, mida te tegelikult andmete analüüsi ajal kasutaksite. Võite oma õppe jagada kaheks eraldi kategooriaks:

  • Andmete analüüsist sõltumatu pandade raamatukogu õppimine
  • Pandide kasutamise õppimine nii, nagu oleksite tegelike andmete analüüsimisel

Erinevus nende kahe vahel on selline, nagu õpiksime nägema paar väikest oksa pooleks metsa minnes ja mõnda puud maha saagides. Võtame need kaks lähenemisviisi kokku enne üksikasjalikumalt tutvumist.

Andmete analüüsist sõltumatu Panda raamatukogu õppimine: see lähenemine hõlmab peamiselt pandade ametliku dokumentatsiooni lugemist ja mis veelgi tähtsam, uurimist.

Pandide kasutamise õppimine nii, nagu oleksite tegeliku andmeanalüüsi ajal: See lähenemisviis hõlmab reaalainete andmete otsimist või kogumist ja otsast lõpuni andmete analüüsi tegemist. Üks parimaid kohti andmete leidmiseks on Kaggle'i andmekogumid. See ei ole Kaggle'i masinõppe komponent, mida ma tungivalt soovitaksin teil vältida, kuni pandade tundmine teile mugavam on.

Vahelduv lähenemine

Pandil andmete analüüsimise õppimise ajal peaksite vaheldumisi õppima põhialuseid dokumentatsioonist ja nende rakendamist reaalainete andmekogumis. See on väga oluline, kuna seda on lihtne õppida piisavalt pandadena, et enamus oma ülesandeid täita, ja siis loota ainult nendele põhitõdedele, kui keerukamad toimingud on olemas.

Alustage dokumentatsioonist

Kui te pole kunagi pandudega varem töötanud, kuid teil on piisavalt Pythoni põhialuseid, siis soovitan alustada pandade ametlikust dokumentatsioonist. See on äärmiselt põhjalik ja praeguses seisukorras 2195 lehekülge (ettevaatlik, link on täispdf-le). Isegi selle tohutu suuruse korral ei hõlma dokumentatsioon tegelikult kõiki toiminguid ja kindlasti ei hõlma kõiki erinevaid parameetrite kombinatsioone, mida saate pandade funktsioonide / meetodite puhul kasutada.

Dokumentatsiooni maksimaalne ärakasutamine

Dokumentatsiooni maksimaalseks kasutamiseks ärge ainult seda lugege. Dokumentatsioonis on umbes 15 jaotist, mida soovitan katta. Iga jaotise jaoks looge uus Jupyteri märkmik. Kui te pole Jupyteri märkmikega tuttav, lugege seda andmelaagri ajaveebi postitust.

Teie esimene Jupyteri märkmik

Alustage jaotisega Andmestruktuuride tutvustus. Avage see leht oma Jupyteri märkmiku kõrval. Dokumentatsiooni lugedes kirjutage kood (ärge seda kopeerige) ja sisestage see sülearvutisse. Koodi täitmise ajal uurige kindlasti toiminguid ja proovige uusi võimalusi nende kasutamiseks.

Jätkake jaotisega Andmete indekseerimine ja valimine. Tehke uus Jupyteri märkmik ja kirjutage, teostage ja uurige uuesti erinevaid õpitud toiminguid. Andmete valimine on pandade kasutajate jaoks üks kõige segasematest aspektidest. Kirjutasin pikema pinu ülevoolupostituse saidil .loc vs .iloc, mida võiksite lugeda veel ühe seletuse saamiseks.

Pärast neid kahte jaotist peaksite mõistma DataFrame'i ja sarja komponente ning teadma, kuidas valida erinevaid andmete alamhulki. Nüüd lugege 10 minutit pandadeni, et saada laiem ülevaade mitmest muust kasulikust toimingust. Nagu kõigi jaotiste puhul, tehke uus märkmik.

Jupyteri sülearvutist abi saamiseks vajutage tõstuklahvi + tabulaator + vahekaart

Vajutan Jupyteri märkmikus pandade kasutamisel pidevalt klahvi Shift + Tab + Tab. Kui kursor asetatakse nime sisse või sulgudele, mis järgivad kehtivat Pythoni, hüppab selle objekti dokumentatsioon pisut keritavasse kasti. See abikast on minu jaoks hindamatu, kuna kõiki erinevaid parameetrite nimesid ja nende sisestustüüpe on võimatu meelde jätta.

Stack-meetodi dokumentatsiooni kuvamiseks vajutage tõstuklahvi + tab + tab

Kõigi saadaolevate objektide rippmenüü kuvamiseks võite vajutada ka vahetult punktile järgnevat vahekaarti

DataFrame'i järel tabulaatori vajutamisel loetletakse üle 200 saadaval oleva objekti

Kui teile meeldib see artikkel, kaaluge teenuse All Access Pass ostmist! mis sisaldab kogu minu praegust ja tulevast materjali ühe madala hinnaga.

Dokumentatsiooni suurem varjukülg

Kuigi dokumentatsioon on väga põhjalik, ei tee see õpetust, kuidas õigesti teha reaalajas andmetega andmete analüüsi. Kõik andmed on loodud või juhuslikult genereeritud. Samuti hõlmab tegelike andmete analüüs mitu pandade operatsiooni (mõnikord kümneid), mis on kokku ühendatud. Sellega ei saa te dokumentatsioonist kunagi kokku puutuda. Dokumentatsioonis õpetatakse mehaanilist lähenemist pandade õppimisele, kus ühte meetodit õpitakse teistest eraldatult.

Teie esimene andmete analüüs

Pärast neid kolme dokumentatsiooni jaotist olete valmis oma esimeseks kokkupuuteks reaalsete andmetega. Nagu varem mainitud, soovitan alustada Kaggle'i andmekogumitest. Kõige populaarsemate, näiteks TMDB 5000 filmi andmestiku tagastamiseks saate sorteerida kõige rohkem hääletanute järgi. Laadige andmed alla ja looge just selle andmestiku jaoks uus Jupyteri märkmik. On ebatõenäoline, et suudate praegusel hetkel täiustatud andmetöötlust teha, kuid peaksite saama dokumentatsiooni kolmes osas õpitut harjutada.

Vaata tuuma

Igal Kaggle-i andmestikul on kerneli sektsioon (filmi andmestiku tuum). Ärge laske nimel „kernel” teid segadusse ajada - need on lihtsalt Jupyteri märkmikud, mille on loonud Kaggle'i kasutaja Pythonis või R. See on üks teie parimaid õppimisvõimalusi. Kui olete juba ise mõne põhianalüüsi teinud, avage üks populaarsemaid Pythoni tuumasid. Lugege läbi mitu neist ja võtke endale huvitavad kooditükid ning sisestage see oma märkmikusse.

Kui te ei saa millestki aru, esitage kommentaaride jaotises küsimus. Tegelikult saate luua oma kerneli, kuid praegu tahaksin jääda tööle teie sülearvutitesse.

Tagasi dokumentide juurde

Kui olete oma esimese kerneli lõpetanud, võite minna tagasi dokumentatsiooni ja täita veel üks jaotis. Siin on minu soovitatav tee dokumentide kaudu:

  • Töö puuduvate andmetega
  • Rühmita: jaga-rakenda-kombineeri
  • Tabelite ümberkujundamine ja pööramine
  • Ühendage, liituge ja ühendage
  • IO tööriistad (tekst, CSV, HDF5 jne)
  • Tekstiandmetega töötamine
  • Visualiseerimine
  • Ajasarja / kuupäeva funktsionaalsus
  • Aeg Deltas
  • Kategoorilised andmed
  • Arvutuslikud tööriistad
  • MultiIndex / Täpsem indekseerimine

See järjekord erineb oluliselt dokumentide avalehe vasakus servas esitatud järjekorrast ja hõlmab minu arvates kõige olulisemaid teemasid. Dokumentatsioonis on mitu jaotist, mida ei ole ülalpool loetletud, mida saate hiljem omaette katta.

Pärast nende dokumentatsiooni jaotiste ja umbes 10 Kaggle'i tuuma täitmist peaksite olema hästi kursis nii pandade mehaanika kui ka tegelike andmete analüüsiga.

Uurimisandmete analüüsi õppimine

Lugedes paljusid populaarseid Kaggle'i tuumasid, saate teada üsna palju sellest, mis teeb hea andmeanalüüsi. Formaalsema ja rangema lähenemisviisi saamiseks soovitan lugeda Howard Seltmani veebipõhise raamatu 4. peatükki „Uurimisandmete analüüs”.

Oma tuumade loomine

Peaksite kaaluma oma tuumade loomist Kaggle'is. See on suurepärane viis sundida ennast kirjutama puhtaid ja selgeid Jupyteri märkmikke. Tüüpiline on omaette märkmike loomine, mis on väga segane korrektselt kirjutatud koodiga, mida oleks võimatu kellelgi teisel (näiteks teie tulevasel minal) mõtestada. Kerneli veebis postitades soovitaksin seda teha nii, nagu eeldaksite, et teie praegune või tulevane tööandja loeb. Kirjutage ülaosas kokkuvõte või kokkuvõte ja selgitage iga koodiploki tähisega selgelt. Tavaliselt teen ühe räpase uurimusliku märkmiku ja terve eraldi märkmiku lõpptootena. Siin on ühe minu tudengi tuum HR-analüütika andmestikus.

Ärge õppige lihtsalt pandasid; Kapten seda

Pandakasutaja vahel, kes teab lihtsalt piisavalt, et sellest mööda pääseda, ja elektritarbija vahel, kes selle valdab, on tohutu erinevus. Pandade tavakasutajatel on üsna tavaline, et nad kirjutavad kehva koodi, kuna sama tulemuse saamiseks on üsna palju funktsioone ja sageli mitu võimalust. Mõningaid pandaoperatsioone, mis annavad teie tulemuse, on üsna lihtne kirjutada, kuid väga ebaefektiivsel viisil.

Kui olete Pythoniga töötav andmeteadlane, kasutate tõenäoliselt pandasid juba sageli, nii et selle omandamise prioriteediks seadmine peaks teie jaoks palju väärtust looma. Saadaval on ka palju lõbusaid trikke.

Pange oma teadmised proovile virna ülevoolu abil

Te ei tea tegelikult Pythoni teeki, kui te ei saa vastata enamikule selle kohta küsimustele, mida Stack Overflow'is küsitakse. See väide võib olla pisut liiga tugev, kuid üldiselt pakub virna ületäitmine suurepärase testimiskeskkonna teie teadmistele konkreetse raamatukogu kohta. Pandadeks on üle 50 000 küsimuse, nii et teil on pandade teadmiste loomiseks lõputu testimispank.

Kui te pole kunagi vastanud Virna ülevoolu küsimusele, soovitaksin vaadata vanemaid küsimusi, millele juba on vastuseid, ja proovida neile vastata, kasutades ainult dokumentatsiooni. Kui tunnete, et saate kvaliteetseid vastuseid kokku panna, soovitaksin proovida vastata vastamata küsimustele. Miski ei parandanud minu pandade oskusi rohkem kui Stack Overflow kohta küsimustele vastamine.

Teie enda projektid

Kaggle tuumad on suurepärased, kuid lõpuks peate ainulaadse projektiga ise hakkama saama. Esimene samm on andmete leidmine, millest on palju ressursse, näiteks:

  • data.gov
  • andmed.maailm
  • NYC avatud andmed, Houstoni avatud andmed, Denveri avatud andmed - enamikul suurtest Ameerika linnadest on avatud andmeportaalid

Pärast uuritava andmestiku leidmist jätkake sama Jupyteri sülearvuti loomise protsessi ja kui teil on kena lõpptoode, postitage see GitHubisse.

Kokkuvõte

Kokkuvõtlikult võib öelda, et dokumentatsiooni abil saate õppida pandade toimingute mehaanikat ja kasutada reaalseid andmekogumeid, alustades Kaggle'i tuumadest, et õppida pandade kasutamist andmete analüüsimisel. Lõpuks pange oma teadmised proovile Stack Overflow abil.

Hankige All Access Pass!

Hankige kogu minu praegune ja tulevane materjal ühe madala hinnaga teenuse All Access Pass kaudu! Saadaolevad põhikursused on järgmised:

  • Harjutus Python
  • Põhiandmete analüüs Pythoniga
  • Kapten masinõpe Pythoniga