含類別特徵的迴歸
你已建立 music_dummies,其中包含每首歌曲風的二元特徵,現在要訓練一個 ridge 迴歸模型來預測歌曲的熱門程度。
music_dummies 已為你預先載入,另外還有 Ridge、cross_val_score、以 np 匿名導入的 numpy,以及以 kf 儲存的 KFold 物件。
模型將以平均 RMSE 評估。不過在此之前,你需要先把每個分折的分數轉為正值,並取其平方根。這個指標代表模型預測的平均誤差,因此可以拿來和目標值 "popularity" 的標準差比較。
本練習屬於課程
使用 scikit-learn 進行監督式學習
練習說明
- 建立
X,包含music_dummies的所有特徵;以及y,為其中的"popularity"欄位。 - 建立 ridge 迴歸模型,將
alpha設為 0.2。 - 使用該 ridge 模型在
X與y上進行交叉驗證,將cv設為kf,並使用負的均方誤差作為評分指標。 - 將負的
scores轉為正值並取平方根,印出 RMSE。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create X and y
X = ____
y = ____
# Instantiate a ridge model
ridge = ____
# Perform cross-validation
scores = ____(____, ____, ____, cv=____, scoring="____")
# Calculate RMSE
rmse = np.____(____)
print("Average RMSE: {}".format(np.mean(rmse)))
print("Standard Deviation of the target array: {}".format(np.std(y)))