3 de ago de 2018

Data science na prática: conheça o modelo preditivo que ganhou o HackathonUSP 2018

Udacity Brasil

Durante um hackathon, o tempo é, por natureza, escasso. Nessa corrida contra o tempo, participantes trazem ferramentas e técnicas na manga e a determinação de se manterem produtivos por vinte e quatro, trinta ou mesmo quarenta e oito horas para criar uma solução e montar um protótipo.

Trata-se de uma ótima maneira de por conhecimentos tecnológicos em prática, e que já rendeu ótimos insights pelo mundo. A biblioteca de JavaScript React, por exemplo, surgiu de um hackathon no Facebook. E até o Vaticano organizou seu primeiro evento do tipo para encontrar soluções para problemas como inclusão social, diálogo entre religiões e crise de migrantes e refugiados.

Entre 9 e 10 de junho de 2018, a Universidade de São Paulo reuniu 60 alunos no Instituto de Matemática e Estatística, em São Paulo, para o HackathonUSP, que contou com patrocínio da Udacity. O objetivo era encontrar aplicações de data science capazes de melhorar o dia a dia universitário, seja em forma de software ou hardware.

Durante um dia inteiro, o quarteto formado pelos engenheiros Alejandra Gonzalez, Ítalo Alberto, Renata Brasil e Eduardo Lopes Pereira Neto se dedicou a resolver um problema conhecido no campus: as filas nos bandejões, que podem superar trinta minutos.

Conheça as trilhas de carreira em data science da Udacity

Antes daquele momento, o grupo – que em sua maioria trabalha com data science em seus respectivos mestrados na universidade – já tinha feito reuniões prévias para mapear as habilidades e conhecimentos de cada membro.

Ao fim do hackathon, eles entregaram um modelo preditivo do nível de lotação usando variáveis como dia da semana, horário e pratos oferecidos por quatro bandejões. Como prêmio, ganharam uma viagem para o Vale do Silício, cursos de curta duração na Universidade de Stanford e um troféu feito com impressão 3D.

"Foi uma oportunidade de aplicarmos os conhecimentos adquiridos no âmbito acadêmico e profissional a fim de solucionarmos problemas que enfrentamos como integrantes da comunidade acadêmica, tudo isso atrelado ao desafio de desenvolver um projeto em um curto prazo de tempo – o que por si só é um excelente desafio quanto a gestão e organização", escrevem.

Na entrevista abaixo, o grupo fala mais sobre a experiência:

Quais são os maiores desafios de um hackathon?

O grande desafio do hackathon é o tempo que temos para desenvolver o projeto, o que nos obriga a estarmos preparados para tomar decisões críticas quanto ao escopo e tecnologias que vamos utilizar para o desenvolvimento – e tudo isso atrelado ao desafio de vencer o cansaço e controlar a ansiedade.

Como foi o processo de desenvolvimento da solução?

Atualmente, nós estudantes da USP enfrentamos um problema: a demora no bandejão em horários determinados, sendo que algumas vezes é preciso esperar mais de 30 minutos para conseguir entrar – sem contar quando não há lugar para sentar.

Nossa proposta foi prever a lotação analisando variáveis como o dia da semana, o horário e o cardápio oferecido em cada restaurante da USP para ajudar os estudantes a determinar o melhor horário para frequentar o bandejão.

A solução teve como objetivo o desenvolvimento de duas aplicações. A primeira foi para os alunos, por meio do desenvolvimento de uma nova funcionalidade para o aplicativo Cardápios USP, onde elaboramos um modelo de predição do nível de lotação dos quatro bandejões da USP.

A segunda foi para os gestores do bandejão, na qual fizemos uma análise exploratória do histórico de dados obtido e, utilizando técnicas de mineração de dados, descobrimos insights sobre horários de início e término, cardápios favoritos e pontos de pico.

Quais foram os desafios que surgiram no caminho?

O primeiro desafio foi o fato de que não tínhamos acesso aos dados de uso do bandejão. Para resolver isso, criamos uma aplicação que coletou do Google Maps as informações de lotação de uma semana em cada bandejão. Em seguida, cruzamos esses dados com as informações dos cardápios oferecidos na mesma semana pelo aplicativo Cardápios USP e, seguindo a mesma distribuição, geramos dados de frequência referentes a três meses.

Outra adaptação foi a criação de uma aplicação para simular o aplicativo Cardápios USP, já que a parte da nossa solução tem como objetivo adicionar funcionalidades ao app que os alunos já utilizam atualmente e nós não temos acesso ao seu código-fonte.

Como desenvolveram o protótipo durante o hackathon?

Para o desenvolvimento do nosso protótipo, dividimos a aplicação em seis módulos diferentes, cada um deles com as seguintes responsabilidades:

  • Projeto crawler: criamos esse módulo utilizando Jupyter Notebook para consultar os dados de ocupação diária de uma semana no Google Maps;
  • Projeto hackathon-dataset: criamos esse módulo em Java para enriquecer os dados de ocupação com as informações disponíveis de cardápio da semana, além de aumentar os períodos de ocupação e o número de semanas de dados;
  • Projeto classifier: criamos esse módulo em Jupyter Notebook para criar o nosso classificador utilizando o dataset gerado e para fazer as predições das duas semanas seguintes;
  • Projeto api: criamos esse módulo em Playframework para a disponibilização dos dados de histórico de lotação e dos dados de predição para as próximas semanas para cada bandejão;
  • Projeto template: criamos esse projeto front-end para simular o que seria o aplicativo Cardápio USP e adicionamos a nova solução para exibir os dados de lotação para a semana corrente;
  • Projeto administrativo: criamos uma página para simular o que seria um sistema disponível aos gestores do bandejão, onde disponibilizamos um relatório feito durante o hackathon com uma análise dos dados de ocupação e alguns insights baseados nos dados que coletamos.

Já tem próximos passos para implementar essa solução?

Deixamos de trabalhar no projeto quando o hackathon acabou. Mas, como é uma aplicação para a vida universitária, se a reitoria se interessar em viabilizar este projeto, podemos retomá-lo e inovar com essa aplicação avançada para o ambiente universitário.

Por que vocês se interessam por data science e como estudam o assunto?

Ciência de dados é muito atrativa por sua multidisciplinaridade, além do grande potencial de crescimento. A melhor maneira de estudar o tema é através de plataformas de cursos online, lendo artigos e pesquisando na internet.

Leia também:

Udacity Brasil