机器学习基础与K近邻算法详解
1. 机器学习测试驱动开发
在机器学习中,测试驱动开发(TDD)与科学方法有相似之处,它们都旨在以客观的方式解决问题。TDD 能帮助我们在机器学习中提前发现问题,避免不稳定数据、欠拟合、过拟合和不可预测的未来等问题。
1.1 数据拆分测试
将数据拆分为两个集合进行比较测试,可消除因机器学习模型参数不当可能引发的常见问题。示例代码如下:
else
misses += 1
end
end
assert misses < (0.05 * (misses + hits))
end
def test_first_half
compare(first_data_set, second_data_set)
end
def test_second_half
compare(second_data_set, first_data_set)
end
1.2 降低过拟合风险
奥卡姆剃刀原理强调数据建模时应追求简单性,避免过拟合。衡量机器学习模型复杂度的一个有效指标是训练速度,通常训练时间短的模型更好。我们可以使用基准测试来监控模型训练速度的变化。例如,使用 MiniTest 进行单元测试:
it 'should not run too much slower than last time' do
bm = Benchmark.measure do
model.run('sentence')
end
bm.real.m
超级会员免费看
订阅专栏 解锁全文
2424

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



