Aan de slagGa gratis aan de slag

SMS-spamgegevens laden

Je hebt gezien dat het mogelijk is om gegevenstypen direct uit de data af te leiden. Soms is het handiger om zelf de kolomtypen te bepalen. Dat doe je door een expliciet schema te definiëren.

Het bestand sms.csv bevat een selectie van sms-berichten die zijn geclassificeerd als 'spam' of 'ham'. Deze data zijn aangepast van de UCI Machine Learning Repository. Er zijn in totaal 5574 sms’jes, waarvan er 747 als spam zijn gelabeld.

Opmerkingen over het CSV-formaat:

  • geen kopregel en
  • velden zijn gescheiden door een puntkomma (dit is niet de standaard scheidingsteken).

Gegevenswoordenboek:

  • id — record-id
  • text — inhoud van het sms-bericht
  • label — spam of ham (integer; 0 = ham en 1 = spam)

Deze oefening maakt deel uit van de cursus

Machine Learning met PySpark

Cursus bekijken

Oefeninstructies

  • Specifieer het dataschema, met kolomnamen ("id", "text" en "label") en kolomtypen.
  • Lees data in uit een door scheidingsteken gescheiden bestand met de naam "sms.csv".
  • Print het schema van de resulterende DataFrame.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

from pyspark.sql.types import StructType, StructField, IntegerType, StringType

# Specify column names and types
schema = StructType([
    StructField("____", IntegerType()),
    ____("____", ____()),
    ____("____", ____())
])

# Load data from a delimited file
sms = spark.read.csv(____, sep=____, header=____, ____=____)

# Print schema of DataFrame
sms.____()
Code bewerken en uitvoeren