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 explicitement 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 », soit comme « ham ». Ces données ont été adaptées du UCI Machine Learning Repository. On y trouve 5 574 SMS au total, dont 747 ont été étiquetés comme pourriels.

Notes sur le format CSV :

  • aucun enregistrement 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 de données :

  • id — identifiant de l'enregistrement
  • text — contenu du message SMS
  • label — spam ou ham (entier ; 0 = ham et 1 = spam)

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 donnant les noms de colonnes ("id", "text" et "label") ainsi que leurs types.
  • Lisez les données à partir d'un fichier délimité nommé "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