Share to

LATEST posts

Machine Learning

Tell us about your team

The machine learning team is responsible for exploring innovative machine learning algorithms that can be applied to the real world. To do this, the team is made up of two groups that work closely together: the scientists and the engineers. The difference between the groups is the amount of time spent on prototyping new models vs. implementing new or more efficient frameworks to improve the machine learning process.

What’s a challenge your team may work on?

The focus of the data science team is to prototype new models that can improve solutions to old problems. Day-to-day we read papers and try out what we’ve learned in a Jupyter notebook. Once we have a model that is reliably improving our internal baseline, we switch gears. The focus becomes implementing that model in production, in a way that is as generic as possible.

The focus of the engineering team is to rethink the models when they no longer scale, and design and maintain the infrastructure that supports the models. We think about how to minimize the amount of code it takes to add a new model, or to onboard a new client to an existing model. We develop internal services that can be used across all our products, to generalize work like feature generation, hyperparameter optimization, A/B testing, etc.

Tools We Use

We use Python and Spark for prototyping and for implementing production machine learning models. We prototype with Jupyter notebooks in clusters on AWS or Microsoft Azure using data that is stored in Redshift or in parquet files.

Awards / Publications / Presentations

ICDM 2017 Workshop (New Orleans)