Instructions to use edoggy/crop-classifier-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Scikit-learn
How to use edoggy/crop-classifier-v1 with Scikit-learn:
from huggingface_hub import hf_hub_download import joblib model = joblib.load( hf_hub_download("edoggy/crop-classifier-v1", "sklearn_model.joblib") ) # only load pickle files from sources you trust # read more about it here https://skops.readthedocs.io/en/stable/persistence.html - Notebooks
- Google Colab
- Kaggle
Crop-type classifier on Satellite Embeddings (v1)
One gradient-boosted model (sklearn HistGradientBoosting) that maps a 64-dim Google Satellite Embedding vector of a cropland pixel to a crop type. Trained on USDA CDL labels (Louisiana, Florida, Texas, 2018–2024) and MapBiomas Collection 10 labels (São Paulo, 2020, 2023). Classes: sugarcane, soybeans, corn, cotton, rice, winter_wheat, peanuts, sorghum, citrus, hay, sod, other_tree, pasture, forest_plantation, other.
Results — US 2024, trained on 2018–2023 only
Accuracy 0.823, weighted F1 0.858. Per-class F1: sugarcane 0.94, corn 0.90, soybeans 0.89, cotton 0.86, rice 0.85, winter wheat 0.83, peanuts 0.80, citrus 0.76, sorghum 0.68, hay 0.49, sod 0.17.
Known confusions (honest limits)
- US: sugarcane→sorghum (both tall C4 grasses), citrus→sod and citrus→hay (Florida sod farms between groves), hay↔sod↔other (grassy classes CDL itself labels inconsistently).
- Brazil (SP 2023 holdout): sugarcane→pasture, ~10% of cane pixels. Cane on marginal land and degraded pasture overlap in the embedding.
Scope
- Class proportions reflect the sampling: sugarcane is oversampled (50% of rows); other crops appear at their
natural frequency among cropland. Rare classes (<1,500 rows) are folded into
other. - Embeddings are strongly region/season-specific; this model is calibrated to the trained regions. Elsewhere, label a few thousand local pixels and retrain (see the sugarcane classifier card for the dose curve).
- Apply only to pixels already known to be cropland.
- Not a price or supply predictor: annual embeddings arrive after official acreage reports.
Usage
import joblib; from huggingface_hub import hf_hub_download
m = joblib.load(hf_hub_download("edoggy/crop-classifier-v1", "crop_classifier_v1.joblib"))
m.predict(embeddings_64d) # returns class names
Embeddings: Google Satellite Embedding V1 (CC-BY-4.0). Labels: USDA CDL (public domain), MapBiomas C10 (CC-BY-4.0).
- Downloads last month
- -