시작하기무료로 시작하기

스팸 및 비스팸 데이터 불러오기

Logistic Regression은 범주형 반응을 예측하는 데 널리 사용되는 방법입니다. Logistic Regression의 가장 흔한 활용 사례 중 하나가 메시지나 이메일의 스팸 분류예요. 이 3단계 연습 문제에서는 Spark MLlib을 사용해 Logistic Regression 기반 이메일 스팸 분류기를 만들어 보겠습니다. 스팸 분류기를 만드는 간단한 단계는 다음과 같습니다.

  • 이메일을 나타내는 문자열의 RDD를 만듭니다.
  • 텍스트를 RDD 벡터로 변환하기 위해 MLlib의 특성 추출 알고리즘을 실행합니다.
  • 벡터 RDD에 분류 알고리즘을 적용해 새로운 포인트를 분류할 모델 객체를 반환합니다.
  • MLlib의 평가 함수 중 하나를 사용해 테스트 데이터셋에서 모델을 평가합니다.

연습 문제의 첫 번째 단계에서는 'spam'과 'ham'(비스팸) 파일을 RDD로 불러오고, 이메일을 개별 단어로 분할한 뒤 각 RDD의 첫 번째 요소를 살펴보겠습니다.

워크스페이스에는 SparkContext sc가 준비되어 있습니다. 또한 'spam' 파일 경로인 file_path_spam 변수와 'non-spam' 파일 경로인 file_path_non_spam 변수도 이미 제공되어 있어요.

이 연습은 강의의 일부입니다

PySpark로 배우는 빅데이터 기초

강의 보기

연습 안내

  • 'spam'과 'non-spam (ham)'에 대해 각각 하나씩, 두 개의 RDD를 생성하세요.
  • 'spam'과 'non-spam' RDD의 각 이메일을 단어로 분할하세요.
  • 분할된 'spam'과 'non-spam' RDD 각각에서 첫 번째 요소를 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Load the datasets into RDDs
spam_rdd = sc.____(file_path_spam)
non_spam_rdd = sc.____(file_path_non_spam)

# Split the email messages into words
spam_words = spam_rdd.____(lambda email: email.split(' '))
non_spam_words = non_spam_rdd.____(lambda email: ____.____(' '))

# Print the first element in the split RDD
print("The first element in spam_words is", spam_words.____())
print("The first element in non_spam_words is", ____.____())
코드 편집 및 실행