1) Как мы знаем, KNN не выполняет вычислений на этапе обучения, а откладывает все вычисления для классификации, из-за которых мы называем это ленивым учеником. Это займет больше времени в классификации, чем обучение, однако я нашел это предположение почти противоположным относительно weka. В котором KNN занимает больше времени на тренировках, чем тестирование.Почему реализация KNN в weka работает быстрее?
Почему и как KNN в weka выполняют намного быстрее в классификации, тогда как в целом он должен выполнять медленнее?
Это также приводит к ошибкам вычислений?
2) Когда мы говорим, что весовое значение функции в Knn может улучшить производительность для данных с высоким размером, что мы имеем в виду, говоря это? Имеем ли мы в виду выбор функций и функцию выбора с высоким информационным ресурсом?
Также неясно, что означает фаза обучения, отличная от построения структуры данных соседства.Так как это ленивый алгоритм обучения, как комментарии OP, то нет набора параметров, которые бы соответствовали или откалибровали на любом этапе обучения. Вы просто вычисляете вещи о любом входящем наблюдении (хотите ли вы назвать это «тренировочным» наблюдением или нет) против набора данных, составляющих классификатор. – ely
@George, спасибо за то, что вы пропустили. Можете ли вы немного подробнее рассказать о своем втором ответе, так как одним из способов является удаление нерелевантной функции путем выбора функции с помощью повышения информации и т. Д., Это также может улучшить производительность. Где-то я прочитал, чтобы умножить вес (TF-IDF), который также может сделать функцию с большим весом более важной. Thanx заранее :) –
@EMS хорошо то, что меня больше волнует, это K-Neighbors, даже если мы предположим, что он реализует эффективную структуру данных внутри, как сказал Джордж, даже тогда, в расчете вычисления расстояния для 10 (K = 10) соседей должно занимать больше времени, чем установка функции маржи (SVM), но я заметил, что оба они почти одинаковы. Если мы не увидим, что происходит, мы не можем определить своих соседей –