Projetos
Versão de 2/5/2007
Clusterização de imagens
Este trabalho tem como objetivo extrair informações a partir de dados
não anotados. No arquivo digits.raw cada
elemento do conjunto de dados é uma linha com 64 inteiros [0-16]
separados por vírgulas. Cada elemento descreve uma matriz 8x8, com 16
tons de intensidade, que representa um dígito manuscrito [0,9],
capturado através de algum mecanismo de scanning ótico ou por
tablet. Os dados estão todos misturados e não sabemos qual digito cada
elemento representa.
Escolha sua plataforma preferida para implementação. Recomendo o uso
de pacotes para manipulação matemática e estatistica, por exemplo: R
(ou S-Plus), matlab (ou octave), mathematica e maple. No entanto, para
aqueles que preferirem, C/C++/Pascal/Java são também opções.
Crie a funcionalidade de desenhar a representação gráfica, imagem 2D,
de um elemento qualquer, permitindo que essas intensidades sejam
números reais no intervalo [0,16].
- Usando uma das técnicas vistas em aula (K-means ou
K-means+Mahalanobis) clusterize os dados em 10 grupos.
- Usando a funcionalidade de impressão, imprima o centroide de cada
cluster.
- Analise a sensibilidade dos clusters modificando as sementes
iniciais.
- Para cada grupo, calcule os dois Principal Components (PCA) e
imprima os pontos m+s1*v1 e m-s1*v1, onde m é a media dos elementos do
grupo, s1 é o desvio padrão na direção v1 (que é o componente
principal), e os pontos m+s2*v2 e m-s2*v2, onde v2 é o segundo
componente principal, e s2 o desvio padrao nessa direção).
Diagnóstico como classificação
O arquivo classifica.xls contém dados de
uma pesquisa de uma doença renal (litiase). A litiase tem 6 variações
(A,B,H,J,K, e M) e uma mesma pessoa pode ter mais de uma forma de
litiase. A ideia desse projeto é desenvolver um sistema de
diagnostico para litiase baseado em aprendizado (um
multi-classificador). O problema é que há vários dados faltando nas
instancias, e portanto voce precisará usar alguma técnica que permite
trabalhar com dados faltantes.
Desenvolva o multi-classificador, e escreva um relatório (de no
maximo 5 paginas) descrevendo como voce desenvolveu e testou o
sistema.
Algumas coisas importantes:
- cada instancia tem mais de uma
classificação. As classes são A,B, H , J, K ,M e elas sao as ultimas
colunas do arquivo.
- Eu tentei limpar o arquivo, mas talvez
nao tenha feito tudo.
- A não ser pelas colunas de saida, 0 deve ser
considerado dado faltante.
As instancias tem varios dados
faltantes!!
Classificação de textos
O arquivo 20ng-train-stemmed.txt contém o vários textos (1
por linha) retirado de 20 newsgroups (lá pelos anos 90). As palavras
do texto já estão pre-processadas. O arquivo 20ng-test-stemmed.txt contém posts
dos mesmos newsgroups, não classificados.
Desenvolva um classificador para os textos, usando o 1o conjunto e
teste-o no segundo conjunto. Escreva um relatório de ate 5 paginas de
como o classificador foi desenvolvido e testado.
ALTERADO 17/5 Eu tinha trocado os arquivos - use o train para
treinar e o test para testar.
Se seu grupo quer um problema mais desafiador, use o conjunto cade-train-stemmed.txt que contém
o texto de paginas de Web classificadas pelo Cadê. O conjunto de teste
é cade-test-stemmed.txt. Parece
que o conjunto do Cade é bem mais dificil de classificar que os 20
newsgroups.