測試其他 k 值
在預設情況下,class 套件中的 knn() 函式只使用單一最近鄰居。
設定參數 k 可以讓演算法納入更多鄰近的鄰居。這會擴大參與投票以決定預測類別的鄰居集合。
比較 k 為 1、7 與 15,觀察其對交通號誌分類準確率的影響。
class 套件已經載入,你的工作空間中也提供了 signs、signs_test 與 sign_types 等資料集。物件 signs_actual 存放號誌的真實標籤。
本練習屬於課程
R 監督式學習:分類
練習說明
- 先用提供的程式碼計算預設
k = 1模型的準確率,接著用mean()比較signs_actual與模型預測,求出準確率。 - 將
knn()呼叫修改為k = 7,並再次計算準確率。 - 再次調整程式碼為
k = 15,並再計算一次準確率。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Compute the accuracy of the baseline model (default k = 1)
k_1 <- knn(train = ___, test = ___, cl = ___)
mean(___)
# Modify the above to set k = 7
k_7 <- ___
mean(___)
# Set k = 15 and compare to the above
k_15 <- ___
mean(___)