시작하기무료로 시작하기

SMS 스팸 데이터 불러오기

앞서 데이터에서 직접 데이터 타입을 추론할 수 있다는 것을 확인했습니다. 경우에 따라 열(column) 타입을 직접 제어하는 것이 편리할 수 있습니다. 이를 위해 명시적인 스키마를 정의합니다.

sms.csv 파일에는 'spam' 또는 'ham'으로 분류된 SMS 메시지 모음이 포함되어 있습니다. 이 데이터는 UCI Machine Learning Repository에서 가져와 가공한 것입니다. 총 5,574개의 SMS 메시지 중 747개가 스팸으로 분류되어 있습니다.

CSV 형식 참고 사항:

  • 헤더 레코드 없음
  • 필드는 세미콜론으로 구분됨 (기본 구분자(Delimiter)가 아닙니다).

데이터 사전:

  • id — 레코드 식별자
  • text — SMS 메시지 내용
  • label — 스팸 또는 햄 (정수형; 0 = 햄, 1 = 스팸)

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

PySpark로 하는 Machine Learning

강의 보기

연습 안내

  • 열 이름("id", "text", "label")과 열 타입을 지정하여 데이터 스키마를 정의하세요.
  • "sms.csv"라는 구분자 파일에서 데이터를 읽어오세요.
  • 결과로 생성된 DataFrame의 스키마를 출력하세요.

실습형 인터랙티브 연습

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

from pyspark.sql.types import StructType, StructField, IntegerType, StringType

# Specify column names and types
schema = StructType([
    StructField("____", IntegerType()),
    ____("____", ____()),
    ____("____", ____())
])

# Load data from a delimited file
sms = spark.read.csv(____, sep=____, header=____, ____=____)

# Print schema of DataFrame
sms.____()
코드 편집 및 실행