CommencerCommencer gratuitement

Attribuer un label aux données

Un dataframe df est disponible avec les colonnes endword : string, features : vector, et outvec : vector. Vous devez sélectionner les lignes où endword est égal à "him", et ajouter une colonne label ayant la valeur entière 1. Ensuite, utilisez l’opération union pour ajouter un nombre égal de lignes où endword n’est pas égal à him, de sorte que ces lignes supplémentaires aient label = 0.

Pour rappel, en SQL, la comparaison « différent de » se fait avec <>.

Cet exercice fait partie du cours

Introduction à Spark SQL en Python

Afficher le cours

Instructions

  • Importez la fonction lit.
  • Sélectionnez les lignes où endword vaut 'him' et ajoutez une colonne entière label avec la valeur 1.
  • Sélectionnez les lignes où endword n’est pas 'him' et ajoutez une colonne entière label avec la valeur 0.
  • Faites l’union de ces deux ensembles, en utilisant un nombre d’exemples négatifs égal au nombre d’exemples positifs.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import the lit function
from pyspark.____ import lit

# Select the rows where endword is 'him' and label 1
df_pos = df.where("____ = 'him'")\
           .withColumn('label', lit(____))

# Select the rows where endword is not 'him' and label 0
df_neg = df.where("endword <> '____'")\
           .withColumn('label', ____(0))

# Union pos and neg in equal number
df_examples = df_pos.____(df_neg.limit(df_pos.count()))
print("Number of examples: ", df_examples.count())
df_examples.where("endword <> 'him'").sample(False, .1, 42).show(5)
Modifier et exécuter le code