No Image

In color balance

СОДЕРЖАНИЕ
0
0 просмотров
09 февраля 2020

Нахождение ближайших соседей

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

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

Код Python, приведенный ниже, помогает найти K-ближайших соседей заданного набора данных –

Импортируйте необходимые пакеты, как показано ниже. Здесь мы используем модуль NearestNeighbors из пакета sklearn

import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors importNearestNeighbors

Давайте теперь определим входные данные –

A = np.array(,2.3,4.2],3.9,3.5],3.7,6.4],4.8,1.9],8.3,3.1],5.2,7.5],4.8,4.7],3.5,5.1],4.4,2.9],])

Теперь нам нужно определить ближайших соседей –

k =3

Нам также нужно предоставить тестовые данные, из которых можно найти ближайших соседей –

test_data =3.3,2.9

Следующий код может визуализировать и построить входные данные, определенные нами –

plt.figure()
plt.title('Input data')
plt.scatter(A, A, marker ='o', s =100, color ='black')

Теперь нам нужно построить ближайший сосед. Объект также должен быть обучен

knn_model =NearestNeighbors(n_neighbors = k, algorithm ='auto').fit(X)
distances, indices = knn_model.kneighbors()

Теперь мы можем напечатать K ближайших соседей следующим образом

print("\nK Nearest Neighbors:")for rank, index in enumerate(indices], start =1):print(str(rank)+" is", Aindex])

Мы можем визуализировать ближайших соседей вместе с тестовой точкой данных

plt.figure()
plt.title('Nearest neighbors')
plt.scatter(A, X, marker ='o', s =100, color ='k')
plt.scatter(Aindices][], Aindices][],
   marker ='o', s =250, color ='k', facecolors ='none')
plt.scatter(test_data], test_data1],
   marker ='x', s =100, color ='k')
plt.show()

Заключение

Двухэтапная Ллойдовская реализация алгоритма k-средних позволяет сгруппировать данные в кластеры, представленные центроидами. Эта технология применяется во многих областях машинного обучения – от задач обучения без учителя до задач понижения размерности.

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

По материалам: Data Science Lab

Список источников

  • coderlessons.com
  • datareview.info

Похожие статьи

Комментировать
0
0 просмотров

Если Вам нравятся статьи, подпишитесь на наш канал в Яндекс Дзене, чтобы не пропустить свежие публикации. Вы с нами?

Adblock
detector