데이터에 레이블 지정하기
데이터프레임 df에는 endword: string, features: vector, outvec: vector 열이 있습니다. 여기서 endword가 "him"과 같은 행을 선택하고, 정수 값 1을 갖는 label 열을 추가하세요. 그런 다음 endword가 him이 아닌 행을 동일한 수만큼 union 연산으로 추가하되, 이 추가된 행들의 label은 0이 되도록 하세요.
참고로, SQL에서 같지 않음을 비교할 때는 <>를 사용합니다.
이 연습은 강의의 일부입니다
Python에서 Spark SQL 입문
연습 안내
lit함수를 임포트하세요.- endword가 'him'인 행을 선택하고 값이 1인 정수 열
label을 추가하세요. - endword가 'him'이 아닌 행을 선택하고 값이 0인 정수 열
label을 추가하세요. - 긍정 예제의 개수와 동일한 개수의 부정 예제를 사용하여 두 집합을
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)