Так Knn является исключением для общего процесса для строительства/тестирование под контролем моделей машинного обучения. В частности, модель, созданная с помощью kNN, представляет собой только доступные помеченные данные, помещенные в некоторое метрическое пространство.
Другими словами, для kNN, нет тренировочного этапа, потому что нет модели для сборки. Соответствие шаблона & Интерполяция - это все, что происходит в kNN.
Также не существует этапа валидации. Валидация измеряет точность модели против данных обучения в зависимости от количества итераций (прогресс обучения). Оверфитинг подтверждается восходящим движением этой эмпирической кривой и указывает точку, в которой обучение должно прекратиться. Другими словами, поскольку никакая модель не построена, нечего утверждать.
Но вы все же можете проверить - то есть оценить качество прогнозов, используя данные, в которых цели (метки или оценки) скрыты от модели.
Но даже тестирование немного отличается для kNN по сравнению с другими контролируемыми методами машинного обучения. В частности, для kNN качество прогнозов, конечно, зависит от количества данных или, точнее, от плотности (количества точек на единицу объема), т. Е. Если вы собираетесь прогнозировать нечеткие значения, усредняя 2-3 ближайших к нему точек, то это помогает, если у вас есть точки, близкие к тем, которые вы хотите предсказать. Поэтому сохранить размер тестового набора небольшим, или еще лучше использовать кросс-валидацию k-fold или перекрестное валидство, которое дает вам более тщательное тестирование модели, но не ценой сокращения размер вашего соседнего населения kNN.
, но поскольку мне нужно найти лучшую комбинацию функций, я не должен выполнять этот поиск в наборе валидации, а затем, наконец, проверить выбранные наилучшие функции с помощью тестового теста – klijo
, если я запустил лучший алгоритм выбора функций на тестовом наборе и то получите окончательную точность, разве это не приведет к тому, что комбинация функций будет смещена в сторону тестового набора? – klijo
@klijo каноническое описание kNN не включает алгоритм выбора функции или что-то в этом роде. Кроме того, я не понимаю вопроса ни в одном из ваших комментариев, но я уверен, что они не имеют ничего общего с kNN. – doug