kneighbors_graph#

sklearn.neighbors.kneighbors_graph(X, n_neighbors, *, mode='connectivity', метрика='minkowski', p=2, metric_params=None, include_self=False, n_jobs=None)[источник]#

Вычислить (взвешенный) граф k-ближайших соседей для точек в X.

Подробнее в Руководство пользователя.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Пример данных.

n_neighborsint

Количество соседей для каждой выборки.

mode{'connectivity', 'distance'}, по умолчанию='connectivity'

Тип возвращаемой матрицы: 'connectivity' вернёт матрицу связности с единицами и нулями, а 'distance' вернёт расстояния между соседями в соответствии с заданной метрикой.

метрикаstr, по умолчанию='minkowski'

Метрика для вычисления расстояния. По умолчанию “minkowski”, что дает стандартное евклидово расстояние при p = 2. См. документацию scipy.spatial.distance и метрики, перечисленные в distance_metrics для допустимых значений метрик.

pfloat, по умолчанию=2

Параметр степени для метрики Минковского. При p = 1 это эквивалентно использованию manhattan_distance (l1), а при p = 2 - euclidean_distance (l2). Для произвольного p используется minkowski_distance (l_p). Ожидается, что этот параметр будет положительным.

metric_paramsdict, по умолчанию=None

Дополнительные именованные аргументы для метрической функции.

include_selfbool или 'auto', по умолчанию=False

Следует ли отмечать каждый образец как ближайшего соседа к самому себе. Если 'auto', то True используется для mode='connectivity' и False для mode='distance'.

n_jobsint, default=None

Количество параллельных задач для поиска соседей. None означает 1, если только не в joblib.parallel_backend контекст. -1 означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.

Возвращает:
Aразреженная матрица формы (n_samples, n_samples)

Граф, где A[i, j] присваивается вес ребра, которое соединяет i с j. Матрица имеет формат CSR.

Смотрите также

radius_neighbors_graph

Вычислить (взвешенный) граф соседей для точек в X.

Примеры

>>> X = [[0], [3], [1]]
>>> from sklearn.neighbors import kneighbors_graph
>>> A = kneighbors_graph(X, 2, mode='connectivity', include_self=True)
>>> A.toarray()
array([[1., 0., 1.],
       [0., 1., 1.],
       [1., 0., 1.]])