Adiciona trabalho final.

parent a7191196
......@@ -57,6 +57,9 @@ navbar:
href: tutorials/09-linear-discriminant-analysis.html
- text: "Análise de agrupamento"
href: tutorials/10-clustering.html
- text: "----------"
- text: "Trabalho final"
href: tutorials/99-trabalho-final.html
- text: "Scripts"
icon: fa-file-text
href: scripts/
......
---
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()`).
O trabalho pode ser desenvolvido em grupos com até integrantes.
# 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.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment