kli*_*ijo 5 classification machine-learning knn computational-geometry
我从10个类中提取图像特征,每个类有1000个图像.由于我可以提取50个功能,我想在这里找到最好的功能组合.培训,验证和测试集分为以下几种:
Training set = 70%
Validation set = 15%
Test set = 15%
Run Code Online (Sandbox Code Playgroud)
我在验证集上使用前向特征选择来找到最佳特征组合,最后使用测试集来检查整体精度.有人可以告诉我,我做得对吗?
dou*_*oug 16
因此,kNN是构建/测试受监督机器学习模型的一般工作流程的例外.特别是,通过kNN创建的模型只是可用的标记数据,放置在某个度量空间中.
换句话说,对于kNN,没有训练步骤,因为没有可以构建的模型.模板匹配和插值就是kNN中正在进行的一切.
也没有验证步骤.验证测量作为迭代计数(训练进度)的函数的训练数据的模型准确度.这种经验曲线的向上移动证明了过度拟合,并指出了训练应该停止的点.换句话说,因为没有建立模型,所以没有什么可以验证的.
但是你仍然可以测试 - 即,使用从模型中隐藏目标(标签或分数)的数据来评估预测的质量.
但即使是kNN与其他监督机器学习技术的测试也有所不同.特别是对于kNN,预测的质量当然取决于数据量,或者更确切地说是密度(每单位体积的点数) - 即,如果您要通过平均2-3来预测未知值最接近它的点,如果你有一个接近你想要预测的点,它会有所帮助.因此,保持测试集的大小较小,或者更好地使用k-fold交叉验证或留一交叉验证,这两种方法都可以为您提供更全面的模型测试,但不会以减少测试集的大小为代价.你的kNN邻居人口.