Skip to main content

Sklearn-style generator of geo features: distances, angles, cosine similarity, KMeans, NN, polar features

Project description

geo-features-generator

Генератор гео-признаков для больших данных: расстояния (Haversine, equirectangular, Manhattan), углы/синусы/косинусы, средние точки, дельты, квадраты расстояний, косинусная близость (3D), кластеризация KMeans, расстояния до ближайшего соседа, полярные признаки относительно базовой точки, H3 ячейки.

Установка

pip install geo-features-generator

Быстрый старт

from geo_features_generator import GeoFeaturesGenerator

# Основные гео-признаки
gen = GeoFeaturesGenerator(
    [("lat1", "lon1"), ("lat2", "lon2")],
    enable_squared_distances=True,
    enable_normed_deltas=True,
    enable_cosine_similarity=True,
    enable_h3=True,
)

features = gen.fit_transform(df)

Параметры

Обязательные параметры:

  • coordinate_pairs: список пар имен столбцов (lat, lon). Первый аргумент, передается как [("lat1", "lon1"), ("lat2", "lon2")].

Опциональные параметры (переключатели функций True/False):

  • enable_squared_distances (по умолчанию True): добавляет _m2 признаки квадратов расстояний (haversine_m2, equirect_m2, manhattan_m2)
  • enable_normed_deltas (по умолчанию True): добавляет abs_dlat_m, abs_dlon_m - абсолютные разности координат в метрах
  • enable_cosine_similarity (по умолчанию True): добавляет cosine_sim, cosine_dist косинусную близость по 3D векторному произведению на сфере
  • enable_kmeans (по умолчанию False): добавляет *_kmeans_label метки кластеров для каждой точки. Требуется scikit-learn.
  • enable_nearest_neighbor (по умолчанию False): добавляет *_nn_haversine_m расстояния до ближайшего соседа. Требуется scikit-learn.
  • enable_polar_features (по умолчанию False): добавляет полярные признаки *_polar_bearing_deg, *_polar_dist_m относительно базовой точки
  • enable_h3 (по умолчанию False): добавляет H3 ячейки для каждой геофичи. Требует скачанную библиотеку 'h3'.

Дополнительные параметры:

  • radius (по умолчанию 6371000): радиус сферы в метрах для расчета расстояний
  • output_format (по умолчанию "pandas"): формат вывода - "pandas" или "numpy"
  • polar_base_point: координаты (lat, lon) базовой точки для полярных признаков
  • h3_resolutions (по умолчанию [8, 10]): список разрешений H3 ячеек для генерации признаков

Описание функций

Геодетические расстояния

  • Haversine: точное сферическое расстояние по формуле гаверсинуса
  • Equirectangular: быстрое приближенное расстояние на основе равнопрямоугольной проекции
  • Manhattan: приближенное манхэттен-расстояние вдоль параллелей и меридианов

Математические признаки координат

  • Тригонометрические: sin/cos преобразования широты и долготы для цикличности признаков
  • Полярные признаки: азимут и расстояние от заданной базовой точки

Угловые признаки

  • Начальный азимут: угол направления между двумя точками
  • Синусы и косинусы: циклическое представление углов
  • Косинусное сходство: скалярное произведение векторов на единичной сфере

Расстояния и геометрия

  • Квадраты расстояний: для машинного обучения, увеличенная роль больших расстояний
  • Нормализованные дельты: разности координат в метрах вдоль меридианов и параллелей
  • Средние точки: геометрический центр между двумя точками по большой окружности

Машинное обучение

  • KMeans кластеризация: автоматическая группировка точек по схожести координат
  • Ближайший сосед: расстояние до наиболее похожей точки в наборе данных

H3 геопространственные признаки

  • H3 ячейки: добавляет для каждой геофичи H3 ячейки с заданными разрешениями (например, [8, 10])

Контакты

  • Telegram
  • GitHub

Лицензия

MIT. См. файл LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geo_features_generator-0.2.1.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geo_features_generator-0.2.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file geo_features_generator-0.2.1.tar.gz.

File metadata

  • Download URL: geo_features_generator-0.2.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for geo_features_generator-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c1f67d08ac60318fb6ee0300410e26e562d2ddf32165329085e82d8cd785c021
MD5 9414881533d2435f6e16ff7db80f97bb
BLAKE2b-256 6242f6b7dbdc72ac69aaeacdf93715f3ac95194743ef8a489f40245d1bd6ecd4

See more details on using hashes here.

File details

Details for the file geo_features_generator-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for geo_features_generator-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8532cf71819634628a76c32dbb7e5a2d6b374256e273672b7502bf7a0996af3a
MD5 d442be4f505facf394eeac03db377fef
BLAKE2b-256 1bb3301f99aa9615c5d91d5ceecd193b627488b39e5194fed30ec4a2c0aad198

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page