Werken met data
Een overzicht...

Introductie

Hallo, en welkom terug bij de laatste week van onze cursus "From Media Computation to Data Science". Deze week gaan we alles wat we de afgelopen drie weken geleerd hebben in het manipuleren en transformeren van de verschillende media toepassen op Big data. In deze eerste les gaan we werken met de passagierslijst van de RMS Titanic. Dit luxe passagiersschip is op 14 april 1912 tijdens haar eerste overtocht van Europa naar Amerika tegen een ijsberg gevaren en een aantal uur later verdwenen in de Atlantische oceaan. Over de laatste en enige tocht van Titanic is een prachtige film gemaak...ga die bekijken.
In deze les gaan wij werken met de Titanic dataset. Je kunt het bestand "Titanic.csv" hier downloaden. De extentie "csv" staat voor "comma seperated values" en is een bestandsformaat dat in datawetenschap veel gebruikt wordt.
De orginele video van deze les met een Nederlandse ondertiteling kun je hier bekijken.

RMS Titanic

De Titanic dataset kun je eenvoudig in Snap! importeren door het bestand "Titanic.csv" met de muis in het script veld te slepen. Snap! opent de dataset in "Table view" en creeert direct een "global" variabele met de naam van de dataset. Zo eenvoudig kan het zijn!.
Importeren: Titanic dataset
De Titanic dataset heeft 888 rijen ("records") en telt 8 kolommen ("fields"). De eerste rij ("header row") geeft je de titel van elke kolom.
  • Sluit het "Table view" venster door op
    te klikken
  • Sleep de variabele
    in het script veld. Met de muis klikje op deze variabele, de tekstballon van de dataset komt tevoorschijn. Klik met de muis op de tekstballon, de dataset wordt wederom in "table view" geopend. Sluit het "Table view" venster en...
  • Bekijk en bestudeer de Titanic dataset, zichtbaar op het podium.
De Titanic dataset is een tabel. En uit vorige lessen weet je dat een tabel een "list of lists" is. Deze contructie van lijsten kun je zichtbaar maken door in de tekstballon met de rechtermuisknop te klikken en de optie "list view" te selecteren.
In de genummerde items die je hieronder ziet staan leggen we de gangbare werkwijze uit in het selecteren en filteren en samenvoegen van data. "map, keep en combine"

Selecteren

  1. 1.
    Wanneer je de eerste rij met daarin de kolom veldnamen wilt selecteren gebruik je deze
    blok functie constructie.
  • Selecteer de tweede, vijfde en rij vierhondtachtig.
2. Hoe selcteer je één kolom? Bijvoorbeeld, de kolom met namen van alle mensen aan boord. Herinner je de grote kracht en mogelijkheden van "map", "keep" en "combine" uit vorige lessen? Een kolom selecteer je met dit
"map, item 3, of, HUH, over, titanic" blok. Klik op dit blok. De kolomnaam en namen van alle passagiers aan boord worden in de tekstballon zichtbaar gemaakt.
  • selecteer kolom 5 en kolom 8. Wanneer je de kolomnaam wilt verbergen om berekeningen alleen op cijfers uit te voeren gebruik je deze
    blok contructie.
Onthoud:
geeft de rij en
geeft de kolom uit de dataset.
3. Hoe selecteren we meerdere rijen tegelijk? Meerdere rijen selecteer je met "map" en het
blok op volgende wijze.
Selectie van meerdere rijen
4. En...hoe maak je een selectie van meerdere kolommen?
Selectie van meerdere kolommen
Test het begrip: kun je de volgende selecties maken?
  • Maak een selectie voor de kolommen 1 en 2
  • Maalk een selectie voor de rijen 50 tot 75
  • Maak een selctie van de kolommen 1, 3 en 5.
  • Maak een selctie voor de rijen 20 t/m 10
  • Maak een selectie van kolommen in deze volgorde: Fare, Sex en Name.
We gebruiken "map", zoals in de les over pixels om data te transformeren. Makkelijk toch?

Filteren

Wanneer je wilt weten wie de ramp met de Titanic daadwerkelijk overleefd heeft moet je data die aan bepaalde creteria voldoet zien te filteren. De eerste kolom draagt als titel "Survived", het getal 0 voor die personen die zijn overleden en het getal 1 voor personen die de ramp overleefd hebben. Om Data te filteren gebruiken we het "Keep" functie blok. Maak het volgende blok. Bestudeer het predikaat "item 1 of HUH = 1" blok.
"keep": filteren op overlevende
Om het alleen het aantal overlevende als getal te achterhalen, plaats je bovenstaand blok in het
​
Wil je weten welk deel van het geheel, hoe het aantal overlevende zich verhoudt tot het totaal aantal passagiers. Bouw en maak je functie verder af
  • Bereken het percentage overlevende?
Test het begrip: kun je de volgende data filteren?
  • Lijst met alle vrouwen aan boord van de Titanic.
  • Lijst van alle kinderen aan boord die jonger zijn dan 10 jaar.
  • Hoeveel mensen hebben het bedrag van 512.3292 pond voor deze reis betaald?

Samenvoegen

Herinner je het "combine" blok uit de les waarin we een acroniem functie hebben en gemaakt. Het "combine" blok voegt items samen. Opfrisser: maak het volgende blok.
​
We willen het totaal bedrag weten wat alle mensen voor deze reis met de Titanic betaald hebben. Selecteer daarvoor eerst de achtste en laatste kolom "Fare".
Selectie van achtste kolom
Met de HOF "combine" tel je alle bedragen bij elkaar op.
Totaal bedrag van alle passagiers
  • Bereken het gemiddelde bedrag voor het Titanic kaartje.
We hebben weer veel geleerd tijdens deze les. Rijen en kolommen selecteren, filteren en samenvoegen. Het was een bijzondere reis. Ga nu verder in het oefenen en experimenteren met datasets. Ben je opzoek naar andere datasets bekijk ook eens de website van Austin Cory Bart. Veel succes!

Probeer meer

  1. 1.
    Met de kennis en vaardigheden uit deze les beantwoord de volgende vragen.
  • Gezien de leeftijd, wat zou jou kans zijn geweest op overleven?
  • Hoe verhouden de kansen op overleven tussen mannen en vrouwen zich tot elkaar?
  • Hoe verhouden de kansen op overleven tussen kinderen en volwassenen zich tot elkaar? Op de Titanic werden leeftijden boven de twaalfjaar als volwassen aangemerkt.
  • Welke verklaringen kun je geven voor de grote verschillen in overlevingskansen?
  • Hoe verhouden de passagiersklassen zich tot elkaar? Welke oorzaken kun je daarvoor bedenken?
Wanneer je dieper in de materie wilt duiken? Kun je de "combine" functie toepassen en vragen bedenken mbt. louter overlevingskansen voor Titanic's derdeklassen passagiers?
2. Waaraan voldoet een typische Titanic passagier. Bereken eerst het gemiddelde prijs voor een kaartje en gemiddelde leeftijd van de passagiers aan boord. Is de uitkomst representatief voor de meeste passagiers aan boord? In de volgende les gaan we daar dieper op in.
3. Welke passagier aan boord had de hoogste leeftijd? Wat is het prijs van het duurste kaartje? Welke familie telde het grootst aantal leden?
Hoe kun je dergelijke lastige vragen uit data filteren? We geven je een aantal suggesties.
  • Je kunt elk denkbare functie ind de HOF "combine" toepassen.
    ,
    ,
    ​
  • De laatste van de drie functies moet je zelf maken.

Testopgaven

  1. 1.
    Met welk blok selecteer je meerdere rijen
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
2. Met welk blok selecteer je een kolom in een dataset?
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
3. Wat is het resultaat van dit blok
  • Een lijst met alle getallen voor elke kolom voor de derde rij in de tabel
  • Een lijst met getallen uit de derde kolom voor elke rij in de tabel
  • Een lijst met alle rijen met het getal drie.
  • Het getal uit de derde kolom uit de derde rij van de tabel
4. Met welk blok kan ik delen uit een tabel filteren?
  • item_of
  • _contains_
  • keep items_from_
  • combine_using_
​
​
​
​
​
​
​
​
​
​
​
​
​
Last modified 11mo ago