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]дает вес ребра, соединяющегоitoj. Матрица имеет формат 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": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 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.