Как построить графовую нейросеть для предсказания городских функций: туториал с city2graph, OSMnx и PyTorch Geometric
На практике показан полный пайплайн: от загрузки точек интереса (POI) из OpenStreetMap и уличной сети до создания гетерогенных и гомогенных графов в формате PyTorch Geometric. В качестве модели используется GraphSAGE, которая предсказывает категорию POI (еда, ритейл, образование, здоровье) по пространственному контексту. Если OSM недоступен, данные генерируются синтетически, что гарантирует воспроизводимость.
Код включает установку библиотеки city2graph, сбор POI по тегам (restaurant, cafe, school, hospital и др.), инженерию пространственных признаков, построение нескольких семейств графов (по близости, по улицам) и обучение с разделением на train/test. В качестве стека используются OSMnx, shapely, sklearn и стандартные компоненты PyG (SAGEConv, to_hetero).
Туториал особенно полезен для тех, кто хочет применить GNN к геоданным — в урбанистике, логистике или анализе городской инфраструктуры. Все шаги сопровождаются кодом и комментариями, фолбэк делает пайплайн стабильным даже при перебоях в работе OSM API.