0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: машинное обучение, machine learning, импутация, неполные наборы данных</p>
1
<p>Теги: машинное обучение, machine learning, импутация, неполные наборы данных</p>
2
<p>В одной из<a>предыдущих статей</a>мы рассматривали процесс<strong>импутации</strong>данных с помощью глубокого обучения. Однако восстановить значения в неполном наборе данных можно и с помощью алгоритма<strong>k-Nearest Neighbour</strong>. Давайте посмотрим, как это работает.</p>
2
<p>В одной из<a>предыдущих статей</a>мы рассматривали процесс<strong>импутации</strong>данных с помощью глубокого обучения. Однако восстановить значения в неполном наборе данных можно и с помощью алгоритма<strong>k-Nearest Neighbour</strong>. Давайте посмотрим, как это работает.</p>
3
<p>Итак, k-Nearest Neighbour (<a>k ближайших соседей</a>) - это относительно простой алгоритм классификации, который мы можем модифицировать в целях<strong>импутации</strong>недостающих значений. Алгоритм использует сходство точек для предсказания недостающих значений на основе k ближайших точек, у которых это значение присутствует. Говоря проще, происходит<strong>выбор k точек, которые наиболее похожи на рассматриваемую точку</strong>, а уже на их основании и происходит подбор значения для пустой ячейки в вашем неполном наборе данных.</p>
3
<p>Итак, k-Nearest Neighbour (<a>k ближайших соседей</a>) - это относительно простой алгоритм классификации, который мы можем модифицировать в целях<strong>импутации</strong>недостающих значений. Алгоритм использует сходство точек для предсказания недостающих значений на основе k ближайших точек, у которых это значение присутствует. Говоря проще, происходит<strong>выбор k точек, которые наиболее похожи на рассматриваемую точку</strong>, а уже на их основании и происходит подбор значения для пустой ячейки в вашем неполном наборе данных.</p>
4
<p>Реализовать процесс можно посредством специальной библиотеки<strong>Impyute</strong>:</p>
4
<p>Реализовать процесс можно посредством специальной библиотеки<strong>Impyute</strong>:</p>
5
<p>Сначала алгоритм выполняет импутацию простым средним способом, в результате чего он получает определенный набор данных. На основании его он строит дерево, а потом применяет это дерево при поиске ближайших соседей. При этом взвешенное среднее значений соседей и вставляется вместо недостающих значений в исходный набор данных.</p>
5
<p>Сначала алгоритм выполняет импутацию простым средним способом, в результате чего он получает определенный набор данных. На основании его он строит дерево, а потом применяет это дерево при поиске ближайших соседей. При этом взвешенное среднее значений соседей и вставляется вместо недостающих значений в исходный набор данных.</p>
6
<h2>Преимущества и недостатки</h2>
6
<h2>Преимущества и недостатки</h2>
7
<p>У метода есть ряд<strong>плюсов</strong>: • на ряде датасетов алгоритм работает точнее, если сравнивать со способом константы либо среднего/медианы; • корреляция между параметрами учитывается.</p>
7
<p>У метода есть ряд<strong>плюсов</strong>: • на ряде датасетов алгоритм работает точнее, если сравнивать со способом константы либо среднего/медианы; • корреляция между параметрами учитывается.</p>
8
<p>К сожалению,<strong>минусы</strong>тоже имеются: • метод дороже с точки зрения вычислительного процесса, ведь надо держать в памяти весь набор данных; • надо всегда понимать, какая именно дистанционная метрика применяется при поиске соседей. Помните, что имплементация в<strong>impyute</strong>поддерживает лишь евклидову и манхэттенскую дистанцию, поэтому при анализе соотношений (к примеру, при анализе количества входов на веб-сайты людей различных возрастов) может потребоваться предварительная<strong>нормализация</strong>; • метод является чувствительным к выбросам в данных (в отличие, скажем, от того же SVM).</p>
8
<p>К сожалению,<strong>минусы</strong>тоже имеются: • метод дороже с точки зрения вычислительного процесса, ведь надо держать в памяти весь набор данных; • надо всегда понимать, какая именно дистанционная метрика применяется при поиске соседей. Помните, что имплементация в<strong>impyute</strong>поддерживает лишь евклидову и манхэттенскую дистанцию, поэтому при анализе соотношений (к примеру, при анализе количества входов на веб-сайты людей различных возрастов) может потребоваться предварительная<strong>нормализация</strong>; • метод является чувствительным к выбросам в данных (в отличие, скажем, от того же SVM).</p>
9
<p><em>По материалам статьи "<a>6 Different Ways to Compensate for Missing Values In a Dataset (Data Imputation with examples</a>".</em></p>
9
<p><em>По материалам статьи "<a>6 Different Ways to Compensate for Missing Values In a Dataset (Data Imputation with examples</a>".</em></p>
10
10