Почему частота ошибок тестирования увеличивается при высоких значениях K в алгоритме KNN? - PullRequest
0 голосов
/ 07 октября 2019

Я получаю такие ошибки до 20 значений, что может быть причиной этого? k_values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] Ошибка [0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0020000000000000018, 0,0020000000000000018, 0,0020000000000000018, 0.0020000000000000018,0.0020000000000000018, +0,0020000000000000018, +0,006000000000000005, +0,0040000000000000036, 0.008000000000000007,0.006000000000000005, +0,010000000000000009, +0,008000000000000007, +0,014000000000000012, 0,01200000000000001] эти мои коэффициенты ошибок тестирования

1002 * Я хочузнаете причину, по которой частота ошибок увеличивается с увеличением значений k?

Ответы [ 3 ]

0 голосов
/ 07 октября 2019

K в KNN обозначает количество ближайших соседей, которые принимаются во внимание. Следовательно, чем больше соседей рассматривается, тем более отдаленные влияют на конечный результат. Тем не менее, имеет смысл, что при большем количестве соседей берется больше элементов из другой категории. Это может привести к неправильной классификации, особенно для элементов на границах кластеров.

Другим примером, который следует рассмотреть, будут два разбалансированных кластера - один кластер, скажем, 5 элементов, а второй - 20. При K = 10 все элементы из первого кластера будут классифицированы как второй. ,С другой стороны, K = 3 даст лучшие результаты, если кластеры хорошо разделены.

Точная причина ваших результатов будет зависеть от количества кластеров, их размещения, плотности и количества элементов.

0 голосов
/ 07 октября 2019

Что происходит с более высоким значением K, так это то, что класс большинства в наборе данных имеет большее влияние на результат результата, поэтому частота ошибок возрастает

Скажем, есть 100 точек данных,и скажем, что 80 принадлежат метке класса "0", а 20 принадлежат метке класса "1"

Теперь, если я выберу любое значение k> 40, все точки данных теперь будут принадлежать мажоритарному классу

Как правило, большое значение K приводит к недостаточному подгонке, в то же время очень небольшое значение K (хотя и для конкретной проблемы) приводит к переобучению

0 голосов
/ 07 октября 2019

Параметр K в KNN контролирует сложность модели. Вы не даете подробностей о вашей конкретной проблеме, но то, что вы, вероятно, видите, это компромисс смещения / дисперсии. Этот пост является хорошим чтением об этом.

Обычно вы пробуете разные значения гиперпараметров из модели (значение K в KNN) в наборе проверки и сохраняете лучшееодин. Обратите внимание, что этот набор проверки не совпадает с набором тестов.

...