CommencezCommencez gratuitement

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'enregistrement
  • text — contenu du message SMS
  • label — pourriel ou non pourriel (entier; 0 = non pourriel et 1 = pourriel)

Cette activité fait partie du cours

Machine Learning avec PySpark

Voir le cours

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.____()
Modifier et exécuter le code