Chargement des données de spam SMS
Vous avez vu qu'il est possible de déduire les types de données directement à partir des données. Il est parfois pratique d'avoir un contrôle direct sur les types de colonnes. Pour ce faire, vous devez définir un schéma explicite.
Le fichier sms.csv contient une sélection de messages SMS qui ont été classés comme "spam" ou "ham". Ces données ont été adaptées du UCI Machine Learning Repository. Il y a un total de 5574 SMS, dont 747 ont été étiquetés comme spam.
Notes sur le format CSV :
- pas d'enregistrement d'en-tête et
- sont séparés par un point-virgule (ce n'est pas le séparateur par défaut).
Dictionnaire de données :
id- identificateur d'enregistrementtext- le contenu du message SMSlabel- spam ou ham (nombre entier ; 0 = ham et 1 = spam)
Cet exercice fait partie du cours
Apprentissage automatique avec PySpark
Instructions
- Spécifiez le schéma de données, en indiquant les noms des colonnes (
"id","text", et"label") et les types de colonnes. - Lisez les données d'un fichier délimité appelé
"sms.csv". - Imprimez le schéma du DataFrame résultant.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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.____()