{"id":15284684,"url":"https://github.com/mapbox/gabbar","last_synced_at":"2025-04-12T23:44:01.333Z","repository":{"id":57432843,"uuid":"80441305","full_name":"mapbox/gabbar","owner":"mapbox","description":"Guarding OpenStreetMap from harmful edits using machine learning","archived":false,"fork":false,"pushed_at":"2019-10-22T18:05:29.000Z","size":13603,"stargazers_count":19,"open_issues_count":15,"forks_count":7,"subscribers_count":105,"default_branch":"master","last_synced_at":"2025-04-12T23:43:56.081Z","etag":null,"topics":["banished","jupyter-notebook","machine-learning","openstreetmap","scikit-learn","vandalism"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-30T16:48:44.000Z","updated_at":"2023-08-22T15:33:11.000Z","dependencies_parsed_at":"2022-08-27T20:51:28.394Z","dependency_job_id":null,"html_url":"https://github.com/mapbox/gabbar","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fgabbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fgabbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fgabbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fgabbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapbox","download_url":"https://codeload.github.com/mapbox/gabbar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647256,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["banished","jupyter-notebook","machine-learning","openstreetmap","scikit-learn","vandalism"],"created_at":"2024-09-30T14:59:24.500Z","updated_at":"2025-04-12T23:44:01.313Z","avatar_url":"https://github.com/mapbox.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gabbar\n\n\n![](https://img.shields.io/pypi/v/gabbar.svg)\n![](https://img.shields.io/circleci/project/github/mapbox/gabbar.svg)\n\n\n**EXPERIMENTAL: UNDER DEVELOPMENT**\n\nGuarding OpenStreetMap from invalid or suspicious edits, Gabbar is an alpha package of a pre-trained binary problematic/not problematic classifier that was trained on manually labelled changesets from OpenStreetMap.\n\n![](https://cloud.githubusercontent.com/assets/2899501/22643796/0a4a7878-ec86-11e6-9a97-fc63db1caab7.jpg)\n\nhttps://en.wikipedia.org/wiki/Gabbar_Singh_(character)\n\n\n## Installation\n\n```bash\npip install gabbar\n```\n\n\n## Setup\n\n```bash\n# Setup a virtual environment with Python 3.\nmkvirtualenv --python=$(which python3) gabbar_py3\n\n# Install in locally editable (``-e``) mode.\npip install -e .[test]\n\n# Install node dependencies.\nnpm install\n```\n\n## Prediction\n\n\u003cimg width=\"919\" alt=\"screen shot 2017-06-30 at 4 17 46 pm\" src=\"https://user-images.githubusercontent.com/2899501/27732638-ce026614-5daf-11e7-900b-caff399a9da9.png\"\u003e\n\n\n```bash\n# A prediction of \"-1\" represents that this feature is an anomaly (outlier).\ngabbar 49172351\n[\n    {\n        \"attributes\": {\n            \"action_create\": 0,\n            \"action_delete\": 0,\n            \"action_modify\": 1,\n            \"area_of_feature_bbox\": 109591.9146,\n            \"feature_name_touched\": 0,\n            \"feature_version\": 17,\n            \"highway_tag_created\": 41,\n            \"highway_tag_deleted\": 0,\n            \"highway_value_difference\": 0,\n            \"length_of_longest_segment\": 0.1577,\n            \"primary_tags_difference\": 1\n        },\n        \"changeset_id\": \"49172351\",\n        \"feature_id\": \"124863896\",\n        \"feature_type\": \"way\",\n        \"prediction\": -1,\n        \"score\": -0.1493,\n        \"timestamp\": \"2017-07-10 10:33:02.925012\",\n        \"version\": \"0.6.2\"\n    }\n]\n```\n\n## Testing\n\n```bash\nnpm test\n```\n\n## Hyperlinks\n\n- [Validating and protecting OpenStreetMap](https://www.mapbox.com/blog/validating-osm/)\n- [Preparing accurate history and caching changesets](https://www.openstreetmap.org/user/geohacker/diary/40846)\n- [An open database of inconsistent edits observed on OSM from OSMCha](http://www.openstreetmap.org/user/manoharuss/diary/40118)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fgabbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapbox%2Fgabbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fgabbar/lists"}