来自统计学,我正在尝试学习机器学习。我已经阅读了很多关于 ML 的教程,但没有接受过真正的培训。
我正在做一个小项目,我的数据集有 6k 行和大约 300 个特征。
正如我在教程中所读到的,我将数据集分成训练样本 (80%) 和测试样本 (20%),然后使用交叉验证 (5 折) 在训练样本上训练我的算法。
当我重新运行我的程序两次时(我只测试了我现在知道不太合适的 KNN),我得到了非常不同的结果,具有不同的灵敏度、特异性和精度。
我猜如果我重新运行程序直到指标良好,我的算法会过度拟合,我也猜这可能是因为测试/训练样本的重新采样,但如果我错了,请纠正我。
如果我要尝试很多算法来看看我能得到什么,我应该在某个地方修复我的样本吗?尝试几种算法甚至可以吗?(它并不总是在统计中)
万一这很重要,我正在使用 python 的 scikit-learn 模块。
*PS:我的结果是二元的,我的特征主要是二元的,很少有分类和数字。我正在考虑逻辑,但哪种算法是最好的?