RadiusNeighborsTransformer#

класс sklearn.neighbors.RadiusNeighborsTransformer(*, mode='distance', radius=1.0, алгоритм='auto', leaf_size=30, метрика='minkowski', p=2, metric_params=None, n_jobs=None)[источник]#

Преобразовать X в (взвешенный) граф соседей ближе, чем заданный радиус.

Преобразованные данные представляют собой разреженный граф, возвращаемый radius_neighbors_graph.

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

Добавлено в версии 0.22.

Параметры:
mode{‘distance’, ‘connectivity’}, по умолчанию='distance'

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

radiusfloat, по умолчанию=1.0

Радиус окрестности в преобразованном разреженном графе.

алгоритм{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, по умолчанию=’auto’

Алгоритм, используемый для вычисления ближайших соседей:

  • 'ball_tree' будет использовать BallTree

  • 'kd_tree' будет использовать KDTree

  • 'brute' будет использовать поиск методом грубой силы.

  • 'auto' попытается определить наиболее подходящий алгоритм на основе значений, переданных в fit метод.

Примечание: обучение на разреженных входных данных переопределит настройку этого параметра, используя метод грубой силы.

leaf_sizeint, по умолчанию=30

Размер листа, передаваемый в BallTree или KDTree. Это может влиять на скорость построения и запросов, а также на память, требуемую для хранения дерева. Оптимальное значение зависит от характера задачи.

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

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

Если metric - вызываемая функция, она принимает два массива, представляющих 1D векторы, в качестве входных данных и должна возвращать одно значение, указывающее расстояние между этими векторами. Это работает для метрик Scipy, но менее эффективно, чем передача имени метрики в виде строки.

Матрицы расстояний не поддерживаются.

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

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

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

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

n_jobsint, default=None

Количество параллельных задач для поиска соседей. Если -1, тогда количество заданий устанавливается равным количеству ядер процессора.

Атрибуты:
effective_metric_str или callable

Используемая метрика расстояния. Она будет такой же, как metric параметр или его синоним, например, 'euclidean', если metric Параметр установлен в ‘minkowski’ и p параметр установлен в 2.

effective_metric_params_dict

Дополнительные ключевые аргументы для функции метрики. Для большинства метрик будут такими же, как в metric_params параметр, но также может содержать p значение параметра, если effective_metric_ атрибут установлен в ‘minkowski’.

n_features_in_int

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда X имеет имена признаков, которые все являются строками.

Добавлено в версии 1.0.

n_samples_fit_int

Количество образцов в обученных данных.

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

kneighbors_graph

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

KNeighborsTransformer

Преобразовать X во взвешенный граф k ближайших соседей.

Примеры

>>> import numpy as np
>>> from sklearn.datasets import load_wine
>>> from sklearn.cluster import DBSCAN
>>> from sklearn.neighbors import RadiusNeighborsTransformer
>>> from sklearn.pipeline import make_pipeline
>>> X, _ = load_wine(return_X_y=True)
>>> estimator = make_pipeline(
...     RadiusNeighborsTransformer(radius=42.0, mode='distance'),
...     DBSCAN(eps=25.0, metric='precomputed'))
>>> X_clustered = estimator.fit_predict(X)
>>> clusters, counts = np.unique(X_clustered, return_counts=True)
>>> print(counts)
[ 29  15 111  11  12]
fit(X, y=None)[источник]#

Обучите преобразователь радиусных соседей на обучающем наборе данных.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features) или (n_samples, n_samples) если metric='precomputed'

Обучающие данные.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

Возвращает:
selfRadiusNeighborsTransformer

Обученный преобразователь радиусных соседей.

fit_transform(X, y=None)[источник]#

Обучение на данных с последующим преобразованием.

Обучает преобразователь на X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

Параметры:
Xarray-like формы (n_samples, n_features)

Обучающий набор.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

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

Xt[i, j] присваивается вес ребра, соединяющего i с j. Только соседи имеют явное значение. Диагональ всегда явная. Матрица имеет формат CSR.

get_feature_names_out(input_features=None)[источник]#

Получить имена выходных признаков для преобразования.

Имена признаков на выходе будут иметь префикс в виде имени класса в нижнем регистре. Например, если преобразователь выводит 3 признака, то имена признаков на выходе: ["class_name0", "class_name1", "class_name2"].

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

Используется только для проверки имен признаков с именами, встреченными в fit.

Возвращает:
feature_names_outndarray из str объектов

Преобразованные имена признаков.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

radius_neighbors(X=None, radius=None, return_distance=True, sort_results=False)[источник]#

Найти соседей в заданном радиусе от точки или точек.

Возвращает индексы и расстояния каждой точки из набора данных, лежащей в шаре размером radius вокруг точек массива запроса. Точки, лежащие на границе, включаются в результаты.

Результирующие точки не не обязательно отсортированы по расстоянию до их точки запроса.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features), по умолчанию=None

Точка или точки запроса. Если не указано, возвращаются соседи каждой индексированной точки. В этом случае точка запроса не считается своим собственным соседом.

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

Ограничение расстояния соседей для возврата. По умолчанию используется значение, переданное конструктору.

return_distancebool, по умолчанию=True

Возвращать ли расстояния.

sort_resultsbool, по умолчанию=False

Если True, расстояния и индексы будут отсортированы по возрастанию расстояний перед возвратом. Если False, результаты могут быть не отсортированы. Если return_distance=False, установка sort_results=True приведет к ошибке.

Добавлено в версии 0.22.

Возвращает:
neigh_distndarray формы (n_samples,) массивов

Массив, представляющий расстояния до каждой точки, присутствует только если return_distance=True. Значения расстояния вычисляются в соответствии с metric параметр конструктора.

neigh_indndarray формы (n_samples,) массивов

Массив массивов индексов приближенных ближайших точек из матрицы популяции, которые лежат внутри шара размера radius вокруг точек запроса.

Примечания

Поскольку количество соседей каждой точки не обязательно одинаково, результаты для нескольких запрашиваемых точек не могут быть помещены в стандартный массив данных. Для эффективности, radius_neighbors возвращает массивы объектов, где каждый объект — это 1D массив индексов или расстояний.

Примеры

В следующем примере мы создаём класс NeighborsClassifier из массива, представляющего наш набор данных, и спрашиваем, какая точка ближе всего к [1, 1, 1]:

>>> import numpy as np
>>> samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
>>> from sklearn.neighbors import NearestNeighbors
>>> neigh = NearestNeighbors(radius=1.6)
>>> neigh.fit(samples)
NearestNeighbors(radius=1.6)
>>> rng = neigh.radius_neighbors([[1., 1., 1.]])
>>> print(np.asarray(rng[0][0]))
[1.5 0.5]
>>> print(np.asarray(rng[1][0]))
[1 2]

Первый возвращаемый массив содержит расстояния до всех точек, которые ближе чем 1.6, а второй возвращаемый массив содержит их индексы. В общем случае можно запрашивать несколько точек одновременно.

radius_neighbors_graph(X=None, radius=None, mode='connectivity', sort_results=False)[источник]#

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

Окрестности ограничены точками на расстоянии меньше радиуса.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features), по умолчанию=None

Точка или точки запроса. Если не указано, возвращаются соседи каждой индексированной точки. В этом случае точка запроса не считается своим собственным соседом.

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

Радиус окрестностей. По умолчанию используется значение, переданное в конструктор.

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

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

sort_resultsbool, по умолчанию=False

Если True, в каждой строке результата ненулевые элементы будут отсортированы по возрастанию расстояний. Если False, ненулевые элементы могут не быть отсортированы. Используется только с mode=’distance’.

Добавлено в версии 0.22.

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

n_samples_fit это количество образцов в подогнанных данных. A[i, j] дает вес ребра, соединяющего i to j. Матрица имеет формат CSR.

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

kneighbors_graph

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

Примеры

>>> X = [[0], [3], [1]]
>>> from sklearn.neighbors import NearestNeighbors
>>> neigh = NearestNeighbors(radius=1.5)
>>> neigh.fit(X)
NearestNeighbors(radius=1.5)
>>> A = neigh.radius_neighbors_graph(X)
>>> A.toarray()
array([[1., 0., 1.],
       [0., 1., 0.],
       [1., 0., 1.]])
set_output(*, преобразовать=None)[источник]#

Установить контейнер вывода.

См. Введение API set_output для примера использования API.

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

преобразовать(X)[источник]#

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

Параметры:
Xмассивоподобный формы (n_samples_transform, n_features)

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

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

Xt[i, j] присваивается вес ребра, соединяющего i с j. Только соседи имеют явное значение. Диагональ всегда явная. Матрица имеет формат CSR.