Chargement des données relatives aux SMS indésirables
Vous avez constaté qu'il est possible de déduire les types de données directement à partir des données. Il est parfois pratique de pouvoir contrôler directement les types de colonnes. Pour ce faire, définissez 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 à partir du répertoire UCI Machine Learning Repository. Il y a un total de 5 574 SMS, dont 747 ont été marqués comme spam.
Remarques 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 d'enregistrementtext
— contenu du message SMSlabel
— spam ou ham (entier ; 0 = ham et 1 = spam)
Cet exercice fait partie du cours
Apprentissage automatique avec PySpark
Instructions
- Veuillez spécifier le schéma de données en indiquant les noms des colonnes (
"id"
,"text"
et"label"
) et les types de colonnes. - Lecture des données d'un fichier délimité nommé «
"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.____()