测试其他 "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(___)