SMS 垃圾訊息最佳化
你先前為 SMS 垃圾訊息模型建立的 pipeline,所有元件都使用了預設參數。不過,這些參數很難剛好產生特別好的模型。這個練習中,你要針對一組挑選過的參數值來執行 pipeline。我們會用系統化的方式進行:把每個超參數的候選值排成一個網格,然後讓 pipeline 系統性地跑過網格上的每一個點。
在這個練習中,你會建立一個參數網格,之後可搭配交叉驗證來為 SMS 垃圾訊息分類器挑選一組理想的參數。
以下物件已經定義好:
hasher—— 一個HashingTF物件,logistic—— 一個LogisticRegression物件。
本練習屬於課程
使用 PySpark 的機器學習
練習說明
- 建立一個參數網格產生器物件。
- 為
HashingTF物件的numFeatures與binary參數加入網格點,分別給定 1024、4096、16384 以及 True、False。 - 為
LogisticRegression物件的regParam與elasticNetParam參數加入網格點,分別給定 0.01、0.1、1.0、10.0 以及 0.0、0.5、1.0。 - 建立(build)參數網格。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()