Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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