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.0.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.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geo_features_generator-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 cdefb3155c0216a9f2ef64e35df555cb1a8ffa4f137c1f358cfde1416ca9beb0
MD5 2097919ed220ea5c04aa5b94becdabc6
BLAKE2b-256 360b871d414cc633373c6776575c08da0ab5717e68b2b9adfc4d2473895a8348

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for geo_features_generator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d45061d58bbf5c41b06098b987be75656e64245c1144c0134ab21b2ea7497646
MD5 8c64ee3c914679f4228ec6f650d3d3b3
BLAKE2b-256 c54a9a40bf99ee2029c9c1009da5a7ffb695f02791ca82ce7b48fb31d27672c3

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