Aan de slagGa gratis aan de slag

Voorzie de data van labels

Er is een dataframe df met de kolommen endword: string, features: vector en outvec: vector. Selecteer de rijen waar endword gelijk is aan "him", en voeg een kolom label toe met de gehele waarde 1. Gebruik daarna de union-bewerking om een gelijk aantal rijen toe te voegen waarbij endword niet gelijk is aan him, en geef deze extra rijen label = 0.

Ter herinnering: in SQL gebruik je <> voor de vergelijking "niet gelijk aan".

Deze oefening maakt deel uit van de cursus

Introductie tot Spark SQL in Python

Cursus bekijken

Oefeninstructies

  • Importeer de functie lit.
  • Selecteer de rijen waar endword 'him' is en voeg een geheel-getalkolom label toe met de waarde 1.
  • Selecteer de rijen waar endword niet 'him' is en voeg een geheel-getalkolom label toe met de waarde 0.
  • Union deze twee sets, met een aantal negatieve voorbeelden gelijk aan het aantal positieve voorbeelden.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren