Načítání SMS spamových dat
Viděl/a jsi, že datové typy je možné odvodit přímo z dat. Někdy se ale hodí mít nad typy sloupců přímou kontrolu — toho dosáhneme definováním explicitního schématu.
Soubor sms.csv obsahuje výběr SMS zpráv, které byly označeny jako 'spam' nebo 'ham'. Tato data byla upravena z UCI Machine Learning Repository. Celkem jde o 5 574 SMS, z nichž 747 bylo označeno jako spam.
Poznámky k formátu CSV:
- soubor neobsahuje záhlaví a
- pole jsou oddělena středníkem (to není výchozí oddělovač).
Slovník dat:
id— identifikátor záznamutext— obsah SMS zprávylabel— spam nebo ham (celé číslo; 0 = ham a 1 = spam)
Toto cvičení je součástí kurzu
Machine Learning with PySpark
Pokyny k cvičení
- Definuj schéma dat: zadej názvy sloupců (
"id","text"a"label") a jejich datové typy. - Načti data z odděleného souboru s názvem
"sms.csv". - Vypiš schéma výsledného DataFrame.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.____()