RadiusNeighborsClassifier
- classsklearn.neighbors.RadiusNeighborsClassifier(radius=1.0, *, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', outlier_label=None, metric_params=None, n_jobs=None)[source]
-
Классификатор, реализующий голосование среди соседей в заданном радиусе.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- radiusfloat, по умолчанию=1.0
-
Диапазон параметрического пространства, используемого по умолчанию для запросов
radius_neighbors. - weights{‘uniform’, ‘distance’}, callable или None, по умолчанию=’uniform’
-
Функция весов, используемая в прогнозировании. Возможные значения:
- ‘uniform’ : равномерные веса. Все точки в каждом окрестности весят одинаково.
- ‘distance’ : веса точек обратно пропорциональны их расстоянию. В этом случае, более близкие соседи точки запроса будут иметь большее влияние, чем соседи, которые находятся дальше.
- [callable] : пользовательская функция, которая принимает массив расстояний и возвращает массив той же формы, содержащий веса.
По умолчанию используются равномерные веса.
- algorithm{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, по умолчанию=’auto’
-
Алгоритм, используемый для вычисления ближайших соседей:
- ‘ball_tree’ будет использовать
BallTree - ‘kd_tree’ будет использовать
KDTree - ‘brute’ будет использовать поиск методом грубой силы.
- ‘auto’ попытается определить наиболее подходящий алгоритм на основе значений, переданных методу
fit.
Примечание: подгонка на разреженных входных данных переопределит значение этого параметра, используя метод грубой силы.
- ‘ball_tree’ будет использовать
- leaf_sizeint, по умолчанию=30
-
Размер листа, передаваемый в BallTree или KDTree. Это может повлиять на скорость построения и запроса, а также на память, необходимую для хранения дерева. Оптимальное значение зависит от характера задачи.
- pfloat, по умолчанию=2
-
Параметр степени для метрики Минковского. При p = 1, это эквивалентно использованию manhattan_distance (l1), а euclidean_distance (l2) для p = 2. Для произвольного p используется minkowski_distance (l_p). Ожидается, что этот параметр будет положительным.
- metricstr или callable, по умолчанию=’minkowski’
-
Метрика, используемая для вычисления расстояния. По умолчанию “minkowski”, что приводит к стандартному евклидовому расстоянию при p = 2. См. документацию scipy.spatial.distance и метрики, перечисленные в
distance_metricsдля допустимых значений метрики.Если метрика “precomputed”, X предполагается матрицей расстояний и должна быть квадратной во время подгонки. X может быть разреженной граф, в котором только «ненулевые» элементы могут считаться соседями.
Если метрика callable функция, она принимает два массива, представляющих одномерные векторы в качестве входных данных и должна возвращать одно значение, указывающее расстояние между этими векторами. Это работает для метрик Scipy, но менее эффективно, чем передача имени метрики как строки.
- outlier_label{ручное значение, ‘most_frequent’}, по умолчанию=None
-
Метка для аномальных образцов (образцы без соседей в заданном радиусе).
- ручное значение: str или int метка (должна быть того же типа, что и y) или список ручных меток, если используется многомерный вывод.
- ‘most_frequent’ : присвоить наиболее часто встречающуюся метку y аномальным образцам.
- None : при обнаружении аномалии будет выброшено исключение ValueError.
Метка аномалии должна быть выбрана из среди уникальных меток «Y». Если она указана с другим значением, будет выведено предупреждение, и все вероятности классов аномалий будут присвоены 0.
- metric_paramsdict, по умолчанию=None
-
Дополнительные ключевые аргументы для функции метрики.
- n_jobsint, по умолчанию=None
-
Количество параллельных задач для поиска соседей.
Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. Смотрите Словарь для получения дополнительной информации.
- Атрибуты:
-
- classes_ndarray формы (n_classes,)
-
Метки классов, известные классификатору.
- effective_metric_str или callable
-
Используемая метрика расстояния. Она будет такой же, как и
metricпараметр, или его синоним, например, ‘euclidean’, еслиmetricпараметр установлен на ‘minkowski’ иpпараметр установлен на 2. - effective_metric_params_dict
-
Дополнительные ключевые аргументы для функции метрики. Для большинства метрик будет таким же, как и
metric_paramsпараметр, но может также содержать значениеpпараметра, еслиeffective_metric_атрибут установлен на ‘minkowski’. - n_features_in_int
-
Количество признаков, увиденных во время подгонки.
Добавлен в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Имена признаков, увиденные во время подгонки. Определяются только тогда, когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
- n_samples_fit_int
-
Количество образцов в данных, подвергнутых подгонке.
- outlier_label_int или массив формы (n_class,)
-
Метка, которая выдаётся для аномальных образцов (образцы без соседей в заданном радиусе).
- outputs_2d_bool
-
False, когда форма
yравна (n_samples, ) или (n_samples, 1) во время подгонки, иначе True.
См. также
KNeighborsClassifier-
Классификатор, реализующий голосование k ближайших соседей.
RadiusNeighborsRegressor-
Регрессия на основе соседей в фиксированном радиусе.
KNeighborsRegressor-
Регрессия на основе k ближайших соседей.
NearestNeighbors-
Неконтролируемое обучение для реализации поиска соседей.
Примечания
См. Ближайшие соседи в онлайн-документации для обсуждения выбора
algorithmиleaf_size.https://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm
Примеры
>>> X = [[0], [1], [2], [3]] >>> y = [0, 0, 1, 1] >>> from sklearn.neighbors import RadiusNeighborsClassifier >>> neigh = RadiusNeighborsClassifier(radius=1.0) >>> neigh.fit(X, y) RadiusNeighborsClassifier(...) >>> print(neigh.predict([[1.5]])) [0] >>> print(neigh.predict_proba([[1.0]])) [[0.66666667 0.33333333]]
- fit(X, y)[source]
-
Обучение классификатора радиусных соседей на обучающей выборке.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features) или (n_samples, n_samples), если metric=’precomputed’
-
Данные обучения.
- y{array-like, разреженная матрица} формы (n_samples,) или (n_samples, n_outputs)
-
Целевые значения.
- Возвращает:
-
- selfRadiusNeighborsClassifier
-
Обученный классификатор радиусных соседей.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных для этого объекта.
Обратитесь к Руководству пользователя для получения информации о том, как работает механизм маршрутизации.
- Возвращает:
-
- маршрутизацияMetadataRequest
-
Объект
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры данного объекта.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернет параметры данного объекта и вложенных подобъектов, являющихся объектами.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- predict(X)[source]
-
Предсказать метки классов для предоставленных данных.
- Параметры:
-
- X{array-like, sparse matrix} с формой (n_queries, n_features), или (n_queries, n_indexed), если metric == ‘precomputed’, или None
-
Тестовые образцы. Если
None, возвращаются прогнозы для всех индексированных точек; в этом случае точки не рассматриваются как свои собственные соседи.
- Возвращает:
-
- yndarray с формой (n_queries,) или (n_queries, n_outputs)
-
Метки классов для каждого образца данных.
- predict_proba(X)[source]
-
Возвратить оценки вероятностей для тестовых данных X.
- Параметры:
-
- X{array-like, sparse matrix} с формой (n_queries, n_features), или (n_queries, n_indexed), если metric == ‘precomputed’, или None
-
Тестовые образцы. Если
None, возвращаются прогнозы для всех индексированных точек; в этом случае точки не рассматриваются как свои собственные соседи.
- Возвращает:
-
- pndarray с формой (n_queries, n_classes), или список из n_outputs таких массивов, если n_outputs > 1.
-
Вероятности классов входных образцов. Классы упорядочены лексикографически.
- radius_neighbors(X=None, radius=None, return_distance=True, sort_results=False)[source]
-
Найти соседей в заданном радиусе точки или точек.
Возвращает индексы и расстояния каждой точки из набора данных, лежащих в шаре размером
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)[source]
-
Вычислить (взвешенный) граф соседей для точек в X.
Соседства ограничены точками на расстоянии меньше, чем радиус.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features), по умолчанию=None
-
Точка или точки запроса. Если не предоставлено, возвращаются соседи каждой проиндексированной точки. В этом случае точка запроса не считается собственным соседом.
- radiusfloat, по умолчанию=None
-
Радиус соседств. По умолчанию используется значение, переданное в конструктор.
- mode{‘connectivity’, ‘distance’}, по умолчанию=’connectivity’
-
Тип возвращаемой матрицы: ‘connectivity’ вернёт матрицу связности с единицами и нулями, в ‘distance’ рёбра являются расстояниями между точками, тип расстояния зависит от выбранного параметра метрики в классе NearestNeighbors.
- sort_resultsbool, по умолчанию=False
-
Если True, в каждой строке результата ненулевые элементы будут отсортированы по возрастанию расстояний. Если False, ненулевые элементы могут быть не отсортированы. Используется только с mode=’distance’.
Добавлен в версии 0.22.
- Возвращает:
-
- Aразреженная матрица формы (n_queries, n_samples_fit)
-
n_samples_fit— количество образцов в подготовленных данных.A[i, j]задаёт вес ребра, соединяющегоiс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.]])
- score(X, y, sample_weight=None)[source]
-
Возвращает среднюю точность по заданным тестовым данным и меткам.
В многоклассовой классификации это точность подмножества, которая является жёсткой метрикой, так как для каждого образца требуется, чтобы каждый набор меток был предсказан правильно.
- Параметры:
-
- Xarray-like формы (n_samples, n_features), или None
-
Тестовые образцы. Если
None, используются предсказания для всех проиндексированных точек; в этом случае точки не считаются своими собственными соседями. Это означает, чтоknn.fit(X, y).score(None, y)неявно выполняет процедуру перекрестной проверки «оставить одну точку» и эквивалентнаcross_val_score(knn, X, y, cv=LeaveOneOut()), но обычно намного быстрее. - yarray-like формы (n_samples,) или (n_samples, n_outputs)
-
Истинные метки для
X. - sample_weightarray-like формы (n_samples,), по умолчанию=None
-
Веса образцов.
- Возвращает:
-
- scorefloat
-
Средняя точность
self.predict(X)по отношению кy.
- set_params(**params)[source]
-
Установить параметры этого оценщика.
Метод работает с простыми оценщиками, а также со вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, так что можно обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') RadiusNeighborsClassifier[source]
-
Запрос метаданных, переданных методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаютсяscoreпри предоставлении. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-оценщик не передаст ихscore. -
None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их. -
str: метаданные должны быть переданы мета-оценщику с данным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменять запрос для некоторых параметров и не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только в том случае, если этот оценщик используется как под-оценщик мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает никакого влияния.- Параметры:
-
- sample_weightstr, True, False, или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.neighbors.RadiusNeighborsClassifier.html