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'enregistrementtext— contenu du message SMSlabel— spam ou ham (entier ; 0 = ham et 1 = spam)
Cette activité fait partie du cours
Machine Learning avec PySpark
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.____()