開始使用免費開始

載入 SMS 垃圾訊息資料

你已經看到可以直接從資料推斷資料型別。有時候你會希望能直接控制欄位型別。這時可以自行定義明確的綱要(schema)。

檔案 sms.csv 包含一組 SMS 簡訊,已被標記為「spam」或「ham」。這些資料改編自 UCI Machine Learning Repository。共有 5,574 則簡訊,其中有 747 則被標記為垃圾訊息(spam)。

CSV 格式說明:

  • 沒有標頭列,且
  • 欄位以分號分隔(這並非預設分隔符)。

資料字典:

  • id — 記錄識別碼
  • text — 簡訊內容
  • label — 垃圾或正常(整數;0 = 正常 ham,1 = 垃圾 spam)

本練習屬於課程

使用 PySpark 的機器學習

檢視課程

練習說明

  • 指定資料綱要,包含欄位名稱("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.____()
編輯並執行程式碼