Если разделить данные на train и test. То knn просто запомнит train данные, и на их основе будет вычислять test. Только почему в данных train, который knn запомнил, допускает ошибки. Почему общая сумма ошибок не равно 0?
А почему она должна быть 0? Суть тестовых данных в том, что у модели нет запомненных правильных ответов и поэтому приходится усреднять ответы по учебной выборке. Из-за этого для объектов из тестовой выборки ответ может отличаться от правильного
В любом методе машина не должна запоминать правильные ответы, она должна их обобщать, находить закономерности и с их помощью предсказывать правильные ответы. На train выборке модель учится и сравнивает те ответы, которые она предсказывает с правильными ответами. Если модель выдаёт только запомненные ответы, значит, что модель переобучилась, а не подобрала хороший алгоритм анализа. И тогда предсказательная способность такой модели на тестовых и реальных данных будет крайне низкой.
Ну если взять модель knn и тестовый набор данных, на чём она там обучается? Находит некие закономерности. Вроде говорилось в некотором источникн и чатgpt, что она когда вычисляет тестовые данные опирается на тренировочные. Тоесть нового объекта из тестовых, находит ближайщих соседей из тренировочной и ввчислчет таргет
Давайте подумаем, на каких данных обучается вообще любая модель машинного обучения? Очевидно, все тоже самое можно применить к knn. И каким образом она прогноз на тесте делает?
Ну я говорю в чём заключается процесс обучения knn на тренировочных данных? Она ведь просто запоминает тестовые данные.
Я об тренировочных данных. Как knn допускает на них ошибки, если она их запоминает
Что за источник? А вообще, нужно смотреть на конкретную реализацию, я могу предложить два варианта. В первом случае мы проверяем каждый объект, знаки ли мы его или нет, и если да, то просто отдаем сохраненное значение. Во втором случае мы такой проверки не делаем и сразу ищем соседей и по ним усредняем, тогда даже для известных объектов будут другие ответы, чем те что были в выборке.
А вы у себя в голове имеете представление, как этот метод вообще работает? Или, мб, вы делали визуализацию своих данных и их разделения?
Ну я только о нём прочитал. Тогда как он работает. Как происходит процесс обучения на тренировочных данных. Поиск неких закономерностей или...?
Если не ошибаюсь с источниками, то в этом блокноте максимально простым языком объяснены основы работы knn: https://www.kaggle.com/code/kashnitsky/topic-3-decision-trees-and-knn/notebook
Ну получается когда появляется новый объект, модель на основе ближайщих соседей из тренировочной выборки, вычисляет таргет
Именно. Метод же называется методом ближайших соседей
Так это было понятно, я про другое спрашивал. Хотя я уже более менее разобрал свой вопрос
Так тот вопрос вам тоже ответили
А на какую статью вы изначально ссылаетесь? В которой ошибка
Обсуждают сегодня