IniziaInizia gratis

Assegna le etichette ai dati

È disponibile un dataframe df con le colonne endword: string, features: vector e outvec: vector. Devi selezionare le righe in cui endword è uguale a "him" e aggiungere una colonna label con valore intero 1. Poi, usa l'operazione union per aggiungere lo stesso numero di righe in cui endword non è uguale a him, in modo che queste righe aggiuntive abbiano label = 0.

Ricorda che in SQL l'operatore di disuguaglianza è <>.

Questo esercizio fa parte del corso

Introduzione a Spark SQL in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la funzione lit.
  • Seleziona le righe in cui endword è 'him' e aggiungi una colonna intera label con valore 1.
  • Seleziona le righe in cui endword non è 'him' e aggiungi una colonna intera label con valore 0.
  • Esegui la union di questi due insiemi, usando un numero di esempi negativi uguale al numero di esempi positivi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice