Considerações finais

Laboratório de Estatística e Geoinformação - LEG/UFPR

Nos capítulos anteriores, vimos alguns métodos úteis na construção de um algoritmo de Machine Learning. Agora, vamos entender como colocar, de fato, a máquina para aprender. Além disso, apresentaremos outros aspectos sobre a Ciência de Dados que também se relaciona com o que aprendemos durante o curso.


Criando um algoritmo de ML


Para entender como é o processo de criação de algoritmos de Machine Learning, a imagem abaixo nos ajudará nessa questão. Imagine que tenhamos 4 bases de dados de entrada e gostaríamos de treinar um algoritmo para alguma tarefa.

Os círculos em azul representam modelos utilizados na construção desse algoritmo, por exemplo:

  • Regressão Linear;
  • Regressão logística;
  • KNN;
  • Gradiente Boosting;
  • Naive Bayes;
  • Redes Neurais Artificiais;
  • Árvores de decisão;
  • Random Forests etc.

A ideia inicial é construir um caminho completo, passando pelo conjunto de Modelos 1 e 2, obtendo um resultado final, que chamamos de baseline. Ele determinará o ponto de partida para o qual novos modelos serão incorporados. Note que a qualidade de um algoritmo é relativa, e se o problema não foi resolvido anteriormente, não sabemos o que é bom ou ruim. Por isso, atente-se para construir uma baseline utilizando modelos que você tenha certa familiaridade. Na prática, métodos simples e ingênuos captam apenas os sinais mais evidentes, e são úteis nas fases iniciais, pois servem como direcionadores. A medida que se avança nas camadas, podemos refinar os resultados, buscando aspectos sutis não percebidos anteriormente. Além disso, procure conhecer os argumentos disponíveis nos pacotes, por exemplo, geralmente as saídas dos Modelos \(i\) alimentam somente os Modelos \(i+1\), mas isso é facultativo e pode ser alterado utilizando o parâmetro stackdata, assim a saída do modelo na camada \(k−1\) entrará também nas camadas \(k + 1, k + 2, \dots\), podemos ampliar a relação de modelos disponíveis para o problema em questão ao permitir que os classificadores sejam usados em problemas de regressão utilizando o bins etc.


Melhorando as predições


Uma vez que obtida uma baseline, precisamos melhorar o desempenho dos algoritmos. Uma das formas de se fazer isso é através de testes piloto. Trata-se de uma metodologia de tentativa e aprendizado que objetiva garantir se estamos no caminho correto das análises, aumentando a convicção acerca do sucesso do algoritmo. Caso observemos um desempenho inferior à nossa linha de base, algo está errado, por exemplo, algum modelo não é adequado, não foi bem “tunado”, ocorreu bug etc. O foco desta etapa não está no resultado final, mas sim no processo de aprendizagem de cada modelo. Nessas ocasiões que surgem novos insights, e o conhecimento sobre as características de cada método será valioso para determinar as alterações que resultarão em melhoria. Outros aspectos merecem destaque, quando se pretende aprimorar as predições, dentre elas, destacamos:

  • Entenda os dados: explore as características, crie gráficos para conhecer a natureza das variáveis etc. Dedique tempo para a análise descritiva, afinal são os dados que lhe trarão as respostas para o problema.

  • Decida sobre a validação cruzada: uma boa estratégia de validação, garante resultados mais confiáveis. Repita o processo de validação por várias vezes, e veja como o algoritmo se comporta. Após isso, utilize como métrica a média desses resultados. Outra possibilidade se refere a avaliar se as características dos dados mudam rápido com o tempo. Por exemplo, se o perfil do cliente do ano passado é útil para treinar um modelo deste ano. Você e seu algoritmo precisam saber disso.

  • Feature Engineering: tente aprimorar a predição dos modelos através da engenharia de características. Por exemplo, tratando outliers, dados faltantes, criando interação, transformando dados contínuos para discretos etc. Enfim, fazendo um pré-processamento adequado. Devemos nos preocupar com o que apresentamos aos modelos.

  • Combine modelos: agrupe vários métodos, certificando-se que são correlacionados. Ou seja, que estejam trabalhando “na mesma direção”, e de certa forma, se completam.

Note que não existe muita metodologia nessas questões, são habilidades que se adquire com a prática. Sites de competição em Data Science são muito úteis neste quesito, por exemplo, o Kaggle.


Desenvolvendo novas habilidades


Quando pensamos em cientista de dados, muitas vezes imaginamos indivíduos habilidosos em matemática, pensamento analítico, cujas estratégias são baseadas em números. Embora isso seja verdade, precisamos também de profissionais com soft skills, como habilidades sociais, criatividade e capacidade de comunicação visual, oral e escrita para explicar de maneira clara suas ideias aos executivos da empresa.

“Os números têm uma história importante para contar. Eles confiam em você para dar-lhes uma voz clara e convincente”. Stephen Few.

Quando a narrativa está atrelada aos dados, ela ajuda a explicar o contexto do problema. Ao se aplicar elementos visuais aos dados, eles esclarecem sobre insights que a audiência não veria sem gráficos ou tabelas. Ou seja, muitos padrões interessantes e outliers permaneceriam ocultos nas linhas e colunas dos bancos de dados. Tudo isso forma um enredo que atrai e cativa a todos.

Note que isso não têm relação com conhecimentos técnicos de determinada área. Pelo contrário, especialistas em domínios específicos de Data Science são quase sempre não-técnicos, que possuem experiências essenciais para construir com sucesso softwares inteligentes. Mas veja que não se está afirmando que os aspectos técnicos, ou hard skills, não são importantes. Mas sim, que devemos entender os limites onde a máquina termina e o profissional começa.


Cultura e mudança


Quando iniciamos qualquer projeto de Data Science, temos de ter em mente que o sucesso das nossas iniciativas depende de inúmeros fatores, dentre eles o fator humano. Possivelmente, essa seja a fonte mais importante e que requer maior atenção. Por isso, ter uma equipe preparada e alinhada com as estratégias organizacionais é essencial. Tudo isso começa com a implementação de uma cultura de Data Science dentro da empresa, alterando antigos hábitos. O hábito é uma tendência ou comportamento, geralmente inconsciente, que resulta da repetição frequente de certos atos. Nosso cérebro os cria para economizar energia e tempo, pois os pensamentos inconscientes são muito mais rápidos e instintivos. O processo de criação da cultura do Data Science está diretamente ligado à criação desse hábito dentro da organização. De nada adianta termos várias áreas com objetivos totalmente diversos. Todos devem estar alinhados para um propósito comum, em uma convergência de interesses, ainda que com diferentes microculturas.

Para que haja essa mudança, precisamos de uma nova estrutura e método de trabalho, que seja fisicamente possível, faça sentido (seja lógico) e que os colaboradores aprovem sua realização. A separamos em três níveis:

  1. Nível físico: perceptível através dos sentidos e sujeita às “leis da natureza”. Diz respeito a possibilidade de execução da mudança;
  2. Nível lógico: acentua a base racional. Desde o início, os colabores devem saber as razões para as mudanças, para daí então serem convencidos. E isso pode exigir um esforço adicional através de uma mudança emocional;
  1. Nível emocional: lida com o coração. As pessoas têm sentimentos definidos e enraizados. Para algumas, o que sentem pela mudança será mais importante do que as razões para tal. Habitualmente, se perguntam: “por que precisamos mudar? A maneira como temos feito isto sempre funcionou bem!”, “trata-se apenas de um outro programa?”, “estas mudanças tornarão meu trabalho mais difícil?” etc. Quebrar as barreiras organizacionais não é tarefa fácil.

“Dando-se oportunidade de escolha entre mudar e provar que não é necessário a mudança, a maioria das pessoas prefere a segunda alternativa”. John Galbraith


Formação das equipes


As questões levantadas acima devem ir ao encontro do modelo organizacional, para que haja um engajamento de todos. Isso é o que separa uma empresa com equipes analíticas de foco dedicado em Data Science, de outra que apenas utiliza análises para informar sua estratégia. Para entender melhor esse assunto de cultura organizacional voltada para o Data Science, pense em empresas como Netflix, Amazon ou Oakland A’s (Moneyball). Sendo assim, precisamos compreender o papel de cada integrante na equipe, destacamos aqui 4 grandes grupos que julgamos essenciais:

  • Patrocinador: ajuda a legitimar o trabalho da equipe. Fornece tempo para executar o projeto e recursos. Geralmente, as atividades em Data Science precisam ser exclusivas e focadas, caso contrário, não trará o retorno esperado.

  • Líder: conduz as iniciativas do projeto. Geralmente, trata-se de um gestor ou especialista que conhece sobre o assunto. A condução e sucesso de cada etapa depende da liderança, conhecimento e experiência desse líder.

  • Especialistas: são colaboradores que dominam um conhecimento específico (não necessariamente técnico) sobre o tema. Ajudam a desenvolver protocolos e mudanças baseadas nas evidências alcançadas em cada etapa. Espera-se grupos heterogêneos (diferente microculturas) que guardam semelhanças entre si (única cultura);

  • Facilitador: é uma espécie de mentor. Em projetos de Data Science, comumente tem-se várias frentes trabalhando em paralelo (com seus respectivos lideres). O facilitador é quem presta consulta às equipes. Seu papel se reduz à medida que a equipe progride com o projeto, adquirindo maior maturidade e autonomia.


O aprendizado não para por aqui!


Este curso é apenas o início de um ciclo de aprendizado sobre Machine Learning para Cientista de Dados, e não devemos nos acomodar com as conquistas até então adquiridas. Estamos em uma área que muda constantemente e manter-se atualizado é uma necessidade. Apenas começamos!