Etichetarea datelor
Ai la dispoziție un DataFrame df cu coloanele endword (string), features (vector) și outvec (vector). Trebuie să selectezi rândurile în care endword este egal cu "him" și să adaugi o coloană label cu valoarea întreagă 1. Apoi, folosește operația union pentru a adăuga un număr egal de rânduri în care endword nu este egal cu "him", astfel încât aceste rânduri suplimentare să aibă label = 0.
Amintește-ți că în SQL comparația „diferit de" se face cu operatorul <>.
Acest exercițiu face parte din cursul
Introducere în Spark SQL în Python
Instrucțiuni pentru exercițiu
- Importă funcția
lit. - Selectează rândurile în care endword este 'him' și adaugă o coloană întreagă
labelcu valoarea 1. - Selectează rândurile în care endword nu este 'him' și adaugă o coloană întreagă
labelcu valoarea 0. - Combină cele două seturi cu
union, folosind un număr de exemple negative egal cu numărul de exemple pozitive.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)