• Por Vitor Oliveira
  • 18/10/2015

Classificando passos com o Jawbone

A Jawbone publicou um post muito interessante sobre classificação de passos (nossos passos ao caminhar) utilizando Machine Learning. Para quem não conhece, a Jawbone é focada em tecnologia para o consumidor e principalmente dispositivos wearable. Um dos produtos de mais destaque da Jawbone é o sistema UP de monitoramento. Eu tenho uma UP24 e acompanho diariamente os meus passos :).

O post da Jawbone me chamou a atenção porque, apesar de ser sobre Machine Learning e classificação, o foco não é o algoritmo mas sim como modelar o problema e construir o dataset para experimentação. Imaginem o desafio de construir um dataset representativo de passos - quais features utilizar? Como representar pessoas altas e baixas? Apressadas? Utilizando o celular? Puxando uma mala? A escolha das instâncias do dataset e suas features é fundamental para o sucesso do modelo preditivo.

Esse post me fez lembrar que muitas vezes há uma grande ênfase no algoritmos para classificação. No Kaggle, por exemplo, o objetivo da maioria das competições é encontrar o algoritmo com o melhor resultado. O problema desta abordagem, é que a parte mais difícil e interessante do processo de modelagem preditiva já foi resolvida. Na maioria dos projetos de modelagem preditiva que participei a parte mais difícil sempre foi a construção do dataset:

Como escolher instâncias que sejam representativas da população de interesse? Como representar essas instâncias? Quais features utilizar? Como representar a variável resposta? Como evitar data leakage (quando a variável resposta acaba “vazando” para uma feature)? Como incorporar novas instâncias? Quando o modelo preditivo precisa ser atualizado?

Este desafio se torna ainda maior quando o objetivo é modelar fenômenos sociais. Confira o post da Jawbone que é um bom exemplo do processo de modelar um problema de predição, desde as escolhas instâncias, features e atualização do modelo.

Vitor Oliveira é graduado e mestre em Ciência da Computação pela Universidade Federal de Minas Gerais. Como pesquisador publicou artigos sobre os efeitos temporais na classificação automática de texto, expansão de consultas em máquinas de busca e aprendizado de máquina aplicado à ranking. Atualmente, como Chief Data Officer da Tripda (plataforma de caronas presente em 13 países) lidera um time responsável pelo processamento, mineração e análise dos dados com o objetivo de extrair valor e direcionar a tomada de decisão em todas áreas da empresa.