Repository navigation
Releases: hsborges-msr/github-country-classifier
Releases · hsborges-msr/github-country-classifier
Release list
v0.3.0
v0.2.0
Install: npm install https://github.com/hsborges-msr/github-country-classifier/releases/download/v0.2.0/hsborges-msr-github-country-classifier-0.2.0.tgz plus onnxruntime-node or onnxruntime-web.
Changes
- The model abstains by default. The bundled threshold is now 0.986 (was 0):
classifyreturnscountry_code: nullwhen the top country is less probable, instead of always naming one. The threshold was chosen for 95% precision on validation users whoselocationwas removed. Pass{ threshold: 0 }to get the previous always-answer behaviour;confidenceandtopare reported either way. - New model, trained on more label sources: declared locations geocoded with Nominatim, users without a location labelled by email/blog domain rules and by an LLM teacher, and GeoNames city names. The
locationline was hidden from 20% of training profiles, so the model learns from the other fields too. - 245 countries and territories (was 209).
- Same input contract, tokenizer, size (45 MB) and API.
Results (shipped int8 model)
| Held-out set | Always answering | At the default threshold (answered / precision) |
|---|---|---|
| 46,518 users who declare a location | 98.7% | 93.5% / 99.9% |
The same users, location removed |
44.1% | 13.9% / 96.6% |
| 285 users without a location, LLM-labelled | 95.8% | 66.0% / 100% |
| 2,741 users without a location, domain-labelled | 98.5% | 83.9% / 99.9% |
See the README for details and limitations.
v0.1.0
Install: npm install https://github.com/hsborges-msr/github-country-classifier/releases/download/v0.1.0/hsborges-msr-github-country-classifier-0.1.0.tgz plus onnxruntime-node or onnxruntime-web.