Обсуждение статьи "Машинное обучение и Data Science (Часть 9): Алгоритм k-ближайших соседей (KNN)"

 

Опубликована статья Машинное обучение и Data Science (Часть 9): Алгоритм k-ближайших соседей (KNN):

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

Алгоритм K-ближайших соседей — это непараметрический классификатор обучения с учителем, который классифицирует данные или предсказывает принадлежность их к классам на основе близости. Алгоритм в основном используется для задач классификации, однако его можно использовать и для решения задачи регрессии. Он часто используется для классификации на основе предположения, что схожие точки в наборе данных могут находиться рядом. Метод k-ближайших соседей — один из самых простых алгоритмов в машинном обучении с учителем. В этой статье мы построим свой алгоритм для классификации.


Алгоритм kNN

Автор: Omega J Msigwa

 
Поздравляю с выходом статьи! Я смотрю на обновления.
 
Приветствую!

Извините, если я ошибаюсь в своих предположениях, но мне кажется, что
void CKNNNearestNeighbors::VectorRemoveIndex(vector &v, ulong index)
 {
   vector new_v(v.Size()-1);
   
   for (ulong i=0, count = 0; i<v.Size(); i++)
      if (i == index)
        {
          new_v[count] = new_v[i];
          count++;
        }
 }
бесполезен. Код взят из файла KNN_neareast_neighbors.mqh.
Я думаю, что он должен удалять элемент вектора с определенным индексом, но он ничего не удаляет, потому что с исходным вектором ничего не происходит и функция ничего не возвращает.

Я не прав?