99-trabalho-final.Rmd 8.25 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
---
title: "Diretrizes para o trabalho final"
author: Prof. Walmes M. Zeviani & Prof. Abel S. Siqueira
date: 2018-11-03
#bibliography: ../config/Refs.bib
#csl: ../config/ABNT-UFPR-2011-Mendeley.csl
---

```{r, include = FALSE}
source("../config/setup.R")
opts_chunk$set(
    cache = FALSE,
    message = FALSE,
    warning = FALSE)
```

# 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](https://www-users.york.ac.uk/~mb55/intro/typemiss4.htm), [2](https://measuringu.com/missing-data/), [3](https://www.displayr.com/different-types-of-missing-data/)
       e [4](https://en.wikipedia.org/wiki/Missing_data).
  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()`).

63
O trabalho pode ser desenvolvido em grupos com até 5 integrantes.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165

# 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](https://archive.ics.uci.edu/ml/index.php).
  2. [Hackathon de Data Science - LEG](https://github.com/leg-ufpr/hackathon/blob/master/datasets.md).
  3. [Bases de dados do Kaggle](https://www.kaggle.com/datasets).

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](https://www.jokecamp.com/blog/guide-to-football-and-soccer-data-and-apis/).
  6. [Consulta o diretório de APIs da WEB](https://www.programmableweb.com/category/sports/apis).
  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>.

# 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.

# 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.

# 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.