Kom igångKom igång gratis

Läsa in SMS-skräppostdata

Du har sett att det går att härleda datatyper direkt från datan. Ibland är det praktiskt att ha direkt kontroll över kolumntyperna. Det gör du genom att definiera ett explicit schema.

Filen sms.csv innehåller ett urval av SMS-meddelanden som har klassificerats som antingen 'spam' eller 'ham'. Dessa data är anpassade från UCI Machine Learning Repository. Det finns totalt 5 574 SMS, varav 747 har märkts som spam.

Notera följande om CSV-formatet:

  • ingen rubrikrad, och
  • fälten separeras av semikolon (detta är inte standardseparatorn).

Dataordlista:

  • id — postidentifierare
  • text — innehållet i SMS-meddelandet
  • label — spam eller ham (heltal; 0 = ham och 1 = spam)

Den här övningen är en del av kursen

Maskininlärning med PySpark

Visa kurs

Övningsinstruktioner

  • Ange dataschemat med kolumnnamn ("id", "text" och "label") och kolumntyper.
  • Läs in data från en avgränsad fil med namnet "sms.csv".
  • Skriv ut schemat för den resulterande DataFrame:n.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.____()
Redigera och kör kod