訓練垃圾簡訊分類器
你已經把 SMS 資料準備好,可以用來建立分類器。具體來說,你已經完成:
- 移除數字與標點符號
- 將訊息切分為單字(或「tokens」)
- 移除停用詞
- 套用 hashing trick,並且
- 轉換為 TF-IDF 表示法。
接下來你要把 TF-IDF 資料分成訓練集與測試集。然後用訓練資料擬合 Logistic Regression 模型,最後在測試資料上評估該模型的表現。
資料存放在 sms,而 LogisticRegression 已為你匯入。
本練習屬於課程
使用 PySpark 的機器學習
練習說明
- 以 4:1 比例將資料分成訓練集與測試集。將隨機種子設為 13 以確保可重現性。
- 建立一個
LogisticRegression物件,並將其擬合到訓練資料。 - 在測試資料上產生預測。
- 使用預測結果建立混淆矩陣。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()