Home » Articole » Articole » Afaceri » Știința datelor (Data Science) » Tipuri de date agregate în știința datelor

Tipuri de date agregate în știința datelor

Acum este timpul să luăm în considerare câteva obiective mai înalte pentru fragmentele noastre de date atomice modeste. Cele mai multe lucruri interesante în știința datelor provin din aranjarea lor împreună în diferite moduri pentru a forma structuri mai complexe. Acest capitol tratează acest subiect.

Numărul de moduri în care pot fi aranjate fragmente de date este mult mai mare decât numărul de diferite tipuri atomice. Aceste moduri diferite au toate nume, unele dintre ele dificile și/sau exotice, cum ar fi „tabele hash”, „arbori de căutare binari” și „liste de ignorare”. Cu toate acestea, există din nou trei elemente de bază care vor sta la baza studiului nostru: se numesc matrice, matrice asociative și tabele. Ca și înainte, le vom lua în considerare mai întâi conceptual pe fiecare, apoi vom vedea cum să le utilizam în Python.

Matrice

O matrice este pur și simplu o secvență de elemente, toate într-un rând. Numim acele elemente „elementele” matricei. Deci, o matrice ar putea avea ca elemente zece numere întregi sau o mie de șiruri de text sau un milion de numere reale.

În mod normal, ne vom ocupa de matrice omogene, în care toate elementele sunt de același tip; acesta se dovedește a fi ceea ce îți dorești 99% din timp. Unele limbaje (inclusiv Python) permit crearea unei matrice eterogenă, care ar putea conține (să zicem) trei numere întregi, șaisprezece reale și patru șiruri de text, toate amestecate împreună. Dar, de obicei, utilizați o matrice pentru a conține o mulțime de valori asociate, cum ar fi soldurile curente ale tuturor conturilor din banca dvs. sau numele de cont Twitter ale tuturor urmăritorilor unui utilizator.

Figura 7.1 arată cum ar arăta conceptual aceste două exemple. Unul are patru șiruri de text, iar celălalt cinci numere reale. Rețineți că fiecare set întreg de elemente este o variabilă. L-am putea numi pe cel din stânga „următiți” și pe cel drept „echilibre”.

MatriceFigura 7.1: Două matrice.

Demne de remarcat sunt numerele din partea stângă. Aceste numere sunt numite indici (singular: indice) ai matricei. Ele există pur și simplu, așa că avem o modalitate de a vorbi despre elementele individuale. Aș putea spune „elementul #2 din matricea urmăritorilor” pentru a face referire la @Cristiano.

Și da, ați observat că numerele indice încep cu 0, nu cu 1. Da, asta e ciudat. Motivul pentru care am făcut asta este pentru că aproape toate limbajele de programare (inclusiv Python) își numără elementele matricei începând cu zero, așa că ați putea la fel de bine să începeți să vă obișnuiți acum. Chiar nu este greu odată ce ai trecut de ciudățenia inițială.

Matricele sunt cel mai elementar tip de date agregate care există și sunt calul de bătaie al multor prelucrări ale științei datelor. Apropo, uneori sunt numite liste, vectori sau secvențe. (Când un anumit concept are multe nume diferite, știți că este important.)

Matrice asociative

Un matrice asociativă, prin contrast, nu are numere de indice. Și elementele sale sunt puțin mai complicate: în loc de valori simple, o matrice asociativă conține perechi cheie-valoare. Figura 7.2 prezintă câteva exemple. Partea stângă a fiecărei imagini arată cheile, iar în partea dreaptă valoarea corespunzătoare.

Cu o matrice asociativă, nu vă întrebați „ce este elementul #3?” cum procedați cu o matrice obișnuită. În schimb, întrebați „ce valoare este asociată cu cheia „Baltimore”?” Și apare răspunsul tău („Ravens”).

Matrice asociativeFigura 7.2: Două matrice asociative.

Tot accesul la matricea asociativă se face prin chei: puteți schimba valoarea care se însoțește cu o cheie, puteți prelua valoarea care merge cu o cheie sau chiar puteți prelua și procesa secvenţial toate cheile și valorile asociate acestora. (1) În al treilea caz, ordinea în care veți primi perechile cheie-valoare este nedefinită (ceea ce înseamnă „nu se garantează că va fi consecvent” sau „nu neapărat ceea ce v-ați aștepta”). Acest lucru subliniază faptul că nu există nicio ”primă” pereche cheie-valoare, sau a doua sau ultima. Sunt într-un fel toți la fel de „acolo”. Modelul dvs. mental al unei matrice asociative ar trebui să se direcționeze doar la cheile care sunt mapate la valori (spunem că „Dallas” este „mapat” cu „Cowboys”) fără nicio ordine implicită. (Sigur, perechea „Philadelphia”/„Ravens” este în partea de sus a imaginii, dar asta doar pentru că a trebuit să pun ceva în partea de sus a imaginii și am ales Philadelphia la întâmplare. Nu are nicio semnificație primatul totuși.)

Observați câteva lucruri despre Figura 7.2. În primul rând, cheile dintr-o matrice asociativă vor fi aproape întotdeauna (și pentru noi, întotdeauna) omogene. În mod similar, valorile vor fi omogene. Dar este posibil ca cheile să nu fie de același tip ca și valorile. În imaginea din stânga, atât cheile, cât și valorile sunt text, dar în imaginea din dreapta, cheile sunt text, iar valorile (numerele uniforme ale sportivilor celebri) sunt numere întregi. Acest lucru este perfect sănătos și bun.

În al doilea rând, realizați că cheile dintr-o matrice asociativă trebuie să fie unice – asta înseamnă că nu pot exista chei duplicate. Dacă am încerca să creăm un al doilea „Alex Morgan” (oh, dacă doar…) cu o valoare diferită, acea nouă valoare ar înlocui valoarea actuală a lui Alex, nu va sta alături de prima ca o pereche cheie-valoare suplimentară.

Totuși, inversul nu este adevărat: valorile unei matrice asociative pot foarte bine să nu fie unice. În imaginea din stânga sunt, dar în imaginea din dreapta sunt duplicate: atât Jordan și LeBron au purtat numărul 23 în cariera lor stelară, în timp ce quarterback-ul din Hall of Fame, Dan Marino, a ales odată același număr de uniformă pe care îl poartă Alex astăzi. Aceasta nu este o problemă, deoarece accesăm întotdeauna informațiile dintr-o matrice asociativă prin intermediul tastelor. Întrebând „ce număr a purtat Mia Hamm?” ne oferă un răspuns bine definit. Întrebând „ce atlet celebru a purtat numărul 23?” nu. De aceea, nu putem pune a doua întrebare (și nu trebuie să o facem).

Tabele

În cele din urmă, avem tabelul, care în știința datelor este omniprezent în mod pozitiv. În Figura 7.3 revenim la exemplul pinterest.com, cu un tabel cu cei mai populari utilizatori. După cum puteți vedea, are mai multe activități decât cele două tipuri de date agregate anterioare.

Spre deosebire de celelalte două tipuri de date agregate, tabelele sunt complet bidimensionale. Nu există (teoretic) o limită la câte rânduri și câte coloane pot avea. Apropo, este important să clarificați acești doi termeni: rândurile sunt transversale, iar coloanele merg în sus și în jos. De asemenea, tabelul tipic are multe, mult mai multe rânduri decât coloane, deci sunt foarte înalte și slabe, nu scurte și grase.

TabeleFigura 7.3: Un tabel.

Deși rândurile unui tabel sunt adesea eterogene, fiecare coloană trebuie să fie omogenă. Puteți vedea asta aruncând o privire la Figura 7.3. Fiecare coloană reprezintă un anumit tip de date – în acest caz, o statistică sau o informație despre un utilizator Pinterest. În mod clar, toate numele de ecran trebuie să fie de tip text, toate „numărul de pini sau de urmăritori” ar trebui să fie numere întregi etc. Altfel, nu are sens.

La fel ca și în cazul celorlalte tipuri, întregul tabel – indiferent de câte milioane de rânduri ar avea – este o variabilă cu un singur nume. De asemenea, la fel ca în cazul matricelor asociative, în mod normal nu există nicio ordine implicită pentru rânduri. Multe implementări ale acestor tipuri de date (inclusiv Python/Pandas) vă vor permite de fapt să specificați „primul rând” sau „al 53-lea rând”, dar asta întotdeauna mă înfierbântă, deoarece conceptual nu există așa ceva. Sunt doar „rânduri” care sunt toate „acolo”.

Tabele de „interogare” (și alte lucruri)

Acum s-ar putea să vă întrebați cum să „ajungeți” efectiv la valorile individuale ale unui tabel. Spre deosebire de matrice, nu există un număr de indice. Și, spre deosebire de matricele asociative, nu există nicio cheie. Cum să abordăm, de exemplu, rândul @poppytalk?

Răspunsul se va dovedi a fi ceva numit interogare, care este un mod special de a spune „un set de criterii care se vor potrivi cu unele, dar nu toate, rândurile și/sau coloanele”. De exemplu, am putea spune „spuneți-mi numărul de pin pentru @ohjoy”. Sau „dați-mi toate informațiile pentru orice utilizator care are peste 100.000 de urmăritori pe panou și cel puțin 20.000 de pini.” Aceste cerințe specifice vor restricționa tabelul la un subset de rânduri și/sau coloane ale acestuia. Vom afla sintaxa pentru aceasta mai târziu. Este un pic cam complicat, dar foarte puternic.

Apropo, se dovedește că de fapt vom folosi conceptul de interogare și pentru matrice și matrice asociative. Deci, strict vorbind, o interogare nu este doar o „chestie de tabel”. Cu toate acestea, sunt deosebit de neprețuite pentru tabele, deoarece sunt în esență singura modalitate de a accesa elementele individuale.

Nota

(1) Folosind ceva numit „buclă”, despre care vom discuta puțin mai târziu în ghid.

Sursa: Stephen Davies, The Crystal Ball – Instruction Manual, Vol. 1: Introduction to Data Science, v. 1.1. Copyright © 2021 Stephen Davies. Licența CC BY-SA 4.0. Traducere și adaptare: Nicolae Sfetcu

© 2021 MultiMedia Publishing, Introducere în Știința Datelor, Volumul 1

Introducere în Business Intelligence
Introducere în Business Intelligence

O resursă esențială pentru toți cei interesați de analiza datelor și de optimizarea proceselor de afaceri.

Nu a fost votat $2.99$5.37 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Introducere în inteligența artificială
Introducere în inteligența artificială

Pășește în era digitală pregătit să înțelegi și să aplici conceptele care schimbă lumea!

Nu a fost votat $2.99$5.24 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Statistica pentru afaceri
Statistica pentru afaceri

Instrumentul esențial pentru decizii inteligente în mediul de afaceri!

Nu a fost votat $3.99$8.55 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *