Charger des données de pourriels SMS
Vous avez vu qu'il est possible de déduire les types de données directement à partir des données. Parfois, il est plus pratique de contrôler vous-même les types de colonnes. Pour ce faire, vous définissez un schéma explicite.
Le fichier sms.csv contient une sélection de messages SMS classés soit comme « spam » (pourriel) soit comme « ham » (non pourriel). Ces données sont adaptées du UCI Machine Learning Repository. On compte au total 5 574 SMS, dont 747 ont été étiquetés comme pourriels.
Notes sur le format CSV :
- aucune ligne d'en-tête et
- les champs sont séparés par un point-virgule (ce n'est pas le séparateur par défaut).
Dictionnaire des données :
id— identifiant de l'enregistrementtext— contenu du message SMSlabel— pourriel ou non pourriel (entier; 0 = non pourriel et 1 = pourriel)
Cette activité fait partie du cours
Machine Learning avec PySpark
Instructions de l’exercice
- Spécifiez le schéma des données en indiquant les noms de colonnes (
"id","text"et"label") et leurs types. - Lisez les données à partir d'un fichier délimité appelé
"sms.csv". - Affichez le schéma du DataFrame obtenu.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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.____()