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
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train edoggy/crop-classifier-v1