Разметка данных
Доступен датафрейм df со столбцами endword (строка), features (вектор) и outvec (вектор). Необходимо выбрать строки, в которых endword равно "him", и добавить столбец label с целочисленным значением 1. Затем с помощью операции union добавьте равное количество строк, в которых endword не равно "him", — эти строки должны иметь label = 0.
Напомним, что в SQL операция «не равно» записывается как <>.
Это упражнение является частью курса
Введение в Spark SQL на Python
Инструкции к упражнению
- Импортируйте функцию
lit. - Выберите строки, в которых
endwordравно 'him', и добавьте целочисленный столбецlabelсо значением 1. - Выберите строки, в которых
endwordне равно 'him', и добавьте целочисленный столбецlabelсо значением 0. - Объедините эти два набора с помощью
union, указав количество отрицательных примеров, равное количеству положительных.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)