机器学习中的特征选择与降维
1. 交叉验证与预测准确性
在机器学习中,选择合适的超参数(如 k - NN 中的 k)和特征集时,方差和偏差是相互矛盾的。对于固定的数据集,较小的 k 或较大的 p 会增加方差同时降低偏差,反之亦然。随着样本量 n 的增大,我们可以选择更大的 k 或 p 值。
1.1 交叉验证示例:程序员和工程师数据集
以程序员和工程师数据集 pef 为例,该数据集包含 20090 条记录,6 个特征。其中教育变量 educ 被简化为三个级别:硕士(代码 14)、博士(代码 16)和“其他”(代码 zzzOther ),这样做的目的是为了简化输出并避免过拟合。
以下是预测 wageinc (工资收入)的示例代码:
# 第一次预测
z <- qeKNN(pef, 'wageinc', k = 10)
holdout set has 1000 rows
z$testAcc
[1] 25296.21
z$baseAcc
[1] 32081.36
# 使用 replicMeans 进行交叉验证
cmd <- "qeKNN(pef,'wageinc')$testAcc"
replicMeans(10, cmd)
holdout set has 1000 rows
holdout set has 1000 rows
...
[1] 25633.51
attr(,"stderr")
[1] 412.1483
通
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



