Bắt đầu ngayBắt đầu miễn phí

Tải dữ liệu SMS spam

Bạn đã thấy có thể suy ra kiểu dữ liệu trực tiếp từ dữ liệu. Đôi khi sẽ thuận tiện hơn nếu bạn chủ động kiểm soát kiểu của các cột. Bạn làm điều này bằng cách định nghĩa một schema tường minh.

Tệp sms.csv chứa một tập các tin nhắn SMS đã được phân loại là 'spam' hoặc 'ham'. Dữ liệu này được điều chỉnh từ UCI Machine Learning Repository. Tổng cộng có 5574 SMS, trong đó 747 tin được gán nhãn spam.

Lưu ý về định dạng CSV:

  • không có dòng tiêu đề và
  • các trường được phân tách bằng dấu chấm phẩy (điều này không phải là dấu phân tách mặc định).

Từ điển dữ liệu:

  • id — mã định danh bản ghi
  • text — nội dung tin nhắn SMS
  • label — spam hoặc ham (số nguyên; 0 = ham và 1 = spam)

Bài tập này là một phần của khóa học

Machine Learning với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Xác định schema dữ liệu, gồm tên cột ("id", "text""label") và kiểu dữ liệu của từng cột.
  • Đọc dữ liệu từ tệp phân tách ký tự có tên "sms.csv".
  • In schema của DataFrame thu được.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.____()
Chỉnh sửa và Chạy Mã