1 Objetivo

O objetivo do trabalho final de ML é proporcionar aos alunos a oportunidade de aplicar o conteúdo discutido em sala de aula em situações reais ou elaboradas para que haja maior fixação do conteúdo, além de desenvolvimento de habilidades computacionais, de documentação e apresentação de resultados.

O trabalho final consiste em aplicar algorítmos de aprendizado supervisionado ou não supervisionado em um conjunto de dados reais ou simulados. Algumas possibilidades para desenvolvimento do trabalho são dadas a seguir.

  1. Estudar a performance preditiva de modelos (dois ou mais) de aprendizado supervisionado para classificação ou regressão.
    • Ex: aplicar SVM e kNN em um problema de classificação de tumores para determinar qual algoritmo tem melhor desempenho.
    • Ex: aplicar regressão com regularização LASSO e árvores aleatórias para prever o preço de venda de imóveis/veículos de um site.
  2. Verificar o desempenho de um modelo preditivo com dados simulados contendo variação nas propriedades controladas por simulação.
    • O grau de redundância entre as variáveis preditoras: quanto o grau de redundância (covariância, colinearidade ou dependência funcional) afetam a capacidade preditiva dos modelos.
    • A fração de missings: como a proporção de valores ausentes afeta o desempenho do modelo preditivo.
    • O mecanísmo de geração dos missings: de valores perdidos complementamente ao acaso (missing completely at random) até valores perdidos que são inteiramente explicados pelas variáveis presentes nos dados. Conheça mais sobre os tipos de valores perdidos aqui: 1, 2, 3 e 4.
  3. Considerar diferentes abordagens para construção de características (engenharia de características) e o impacto nos resultados de algorítmos de aprendizado supervisionado e não supervisionado.
    • Determinar o número de classes ideal para compartimentar uma variável numérica em intervalos disjuntos (binning) para se usar em um modelo preditivo.
    • Verificar formas de fazer a compartimentação: i) classes criadas com intervalos disjuntos de mesmo comprimento, ii) classes criadas com intervalos disjuntos para terem igual número de observações (lattice:: equal.count()), iii) classes criadas com intervalos com sobreposição para igual número de observações (fuzzy?, lattice::shingle()).

O trabalho pode ser desenvolvido em grupos com até 5 integrantes.

2 Fontes de dados

Os dados usados para o trabalho podem ser dados reais conseguidos na internet, de materiais suplementares de livros ou trabalhos de conclusão de curso/dissertação/tese, dados adquiridos por raspagem (web scraping) ou dados simulados.

É necessário que seja dado acesso aos dados no trabalho. Para dados da internet deve-se indicar a fonte. Para dados raspados deve-se disponibilizar o código de raspagem. Para dados simulados deve-se disponibilizar o código para simulação. Outros tipos de dados devem estar ser fornecidos na forma de arquivo texto pleno (txt, csv) para leitura.

Algumas fontes de dados sugeridas estão descritas a seguir.

  1. UC Irvine Machine Learning Repository.
  2. Hackathon de Data Science - LEG.
  3. Bases de dados do Kaggle.

Algumas APIs fornecem acesso aos dados. A seguir alguns endereços de API.

  1. http://www.omdbapi.com/: The Open Movie Database - acesso à bilheteria, direção, elenco e etc de filmes.
  2. https://earthquake.usgs.gov/fdsnws/event/1/: Earthquake Catalog API fornece acesso à dados de eventos sísmicos.
  3. http://openweathermap.org/price#weather> Open Weather Map API fornece acesso à dados climáticos.
  4. https://wiki.openstreetmap.org/wiki/Nominatim: Nominatim - API para consulta de latitude e longitude de endereços.
  5. Lista APIs para dados de futebol.
  6. Consulta o diretório de APIs da WEB.
  7. http://build.kiva.org/api. Kiva é uma organização internacional sem fins lucrativos fundada em 2005 com a missão de conectar pessoas através de empréstimos para superar a pobreza. Eles apoiam pessoas que procuram criar um futuro melhor para si, suas famílias e suas comunidades.
  8. https://datahelpdesk.worldbank.org/knowledgebase/articles/902049-data-catalog-api. The Data Catalog API fornece acesso a uma de conjuntos de dados do World Bank’s Open Data Catalog.
  9. https://www.quandl.com/docs/api. O Quandl tem uma vasta coleção de conjuntos de dados abertos coletados de uma variedade de organizações. Os dados podem ser utilizados sem custos com quase nenhuma restrição.
  10. https://www.ncdc.noaa.gov/cdo-web/webservices. Acesso aos dados do National Centers for Environmental Information (NCEI). São dados climáticos, ambientais, oceânicos e geofísicos distribuidos sobre todo o globo.
  11. https://freemusicarchive.org/api/docs/. Acesso a dados musicais como artista, álbum, trilha, gênero. Devido ao intenso e abusivo uso em Music Information Retrieval, a criação de tokens se agora dá por email contendo justificativa para a liberação do serviço.
  12. http://www.last.fm/api. Acesso a API do last.fm de conteúdo musical.
  13. http://dados.gov.br/dataset, e.g. http://dados.gov.br/dataset/anuario-estatistico-de-acidentes-de-trabalho.

3 Material

O trabalho será avaliado a partir do material entregue e apresentação. O material deve conter:

  1. Arquivo com os dados em texto pleno (txt, csv) ou script que gera ou script adquire os dados (web scraping) ou link para download dos dados de fonte de acesso público.
  2. Arquivo (um ou mais) que realizam todas as etapas de análise de dados: importação, preparação, análise exploratória, pré-processamento, aplicação das técnicas, beneficiamente dos resultados e criação das tabelas, figuras e artefatos para exibição dos resultados.
  3. Documento que é o relatório de análise de dados. Ele deve conter i) motivação e objetivos do trabalho (introdução), ii) descrição dos dados usados (material), iii) descrição dos métodos de análise empregados (métodos), iv) apresentação dos resultados e v) conclusões e recomendações.
  4. Recomenda-se que o documento de análise seja feito em RMarkdown ou Jupyter Notebbok. Isso reduz a carga de trabalho, torna o trabalho reproduzível e portável.
  5. Podem ser usados quaisquer softwares livres para realização do trabalho. No entanto, incentiva-se o uso de R, Python e Julia principalmente.

O material deverá ser enviado para o moodle na forma de um arquivo comprimido (zip, rar) e não deve ultrapassar 2 MB de espaço. A documentação usada na apresentação (slides) deve ser enviado juntamente com o restante do material acima descrito.

4 Apresentação

A apresentação do trabalho será de 10 minutos sem tolerância com 3 minutos reservados para discussão com a audiência e professores.

Para a apresentação, deve ser preparado um conjunto de slides contendo os pontos chaves sobre o trabalho: i) motivação e objetivo, ii) descrição dos dados, iii) descrição da metodologia, iv) resultados e v) conclusões e recomendação.

5 Prazos

As apresentações serão dia 30/11, sexta-feira, durante o horário da aula (17h30 às 20h30) na sala multimídia. A ordem das apresentações será por sorteio.

25px