SMS-Spam-Daten laden
Du hast gesehen, dass es möglich ist, Datentypen direkt aus den Daten abzuleiten. Manchmal ist es praktisch, direkte Kontrolle über die Spaltentypen zu haben. Dazu musst du ein explizites Schema definieren.
Die Datei sms.csv
enthält eine Auswahl von SMS-Nachrichten, die entweder als "Spam" oder "Ham" eingestuft wurden. Diese Daten wurden aus dem UCI Machine Learning Repository übernommen. Es gibt insgesamt 5574 SMS, von denen 747 als Spam gekennzeichnet wurden.
Hinweise zum CSV-Format:
- keinen Kopfsatz und
- Felder werden durch ein Semikolon getrennt (dies ist nicht das Standardtrennzeichen).
Datenwörterbuch:
id
- Datensatzbezeichnertext
- Inhalt der SMS-Nachrichtlabel
- spam oder ham (ganze Zahl; 0 = ham und 1 = spam)
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Lege das Datenschema fest, indem du Spaltennamen (
"id"
,"text"
und"label"
) und Spaltentypen angibst. - Lies Daten aus einer begrenzten Datei namens
"sms.csv"
. - Druckt das Schema für den resultierenden DataFrame.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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.____()