What Is Aerosolve?
Updated
Aerosolve is a machine learning package built for humans, published by Airbnb at aerosolve.airbnb.tech. It is aimed at teams that want fast, painless feature engineering and models they can actually inspect, rather than a black-box pipeline. It runs on the JVM: Scala is used for feature training, and a lightweight Java API handles run-time inference.
What Aerosolve Is Designed For
The project's stated goal is to make feature engineering fast and painless while keeping models interpretable. Two design choices support that:
- A feature transform language gives the developer full control over how raw inputs become features.
- General additive models provide substantial modeling capacity while remaining easy to interpret.
If your problem depends heavily on how features are constructed — and you need to explain or debug the result — that combination is the main reason to consider Aerosolve.
Core Capabilities
Geo-based features
Aerosolve provides geo-based features as a first-class capability. The project's own example is a set of neighborhood polygons derived from listing density in San Francisco, generated with a multi-scale Kd-tree model. That illustrates the intended workflow: spatial density in, human-readable regions out.
Controllable quantization and feature interaction
Quantization and feature interaction are exposed as controllable steps rather than fixed internals, so you decide how continuous values are bucketed and which features are allowed to interact.
Priors from human intuition
You can supply prior beliefs to the model, feeding human intuition into an otherwise statistical process. This is useful when you already know the direction or shape of a relationship and want the model to respect it.
Debuggable models
Because the models are additive and the feature transforms are explicit, you can trace how a given input produced its score. That is the practical meaning of "human friendly" here.
How It Fits Into a JVM Stack
| Stage | Language / interface | What it covers |
|---|---|---|
| Feature training | Scala | Building and training the model from transformed features |
| Run-time inference | Lightweight Java API | Serving predictions inside an existing JVM service |
If your production services are already on the JVM, this split means you do not need a separate runtime or a cross-language bridge to score requests.
When Aerosolve Is a Reasonable Choice
Consider it when:
- Your team works primarily in Scala or Java.
- Feature engineering effort, not raw model capacity, is your bottleneck.
- You need to explain model behavior to others, or debug why a prediction came out the way it did.
- Your problem has a strong geographic component, or you want to encode domain knowledge as priors.
Look elsewhere when you need a broad ecosystem of prebuilt model types and tooling, or when your stack is Python-centric and adding a JVM service is not worth the operational cost.
Getting Started
The site links a Get Started entry point alongside the Overview and Github links, plus a blog. Start there for setup instructions and the worked examples, then check the Github repository for the current source and API details.