Upcoming SlideShare
×

# Lesson 2: Pre-processing using RapidMiner 5.0

7,019 views
6,851 views

Published on

The objective of this lesson is to introduce the most popular preprocessing methods in data mining projects as well as their implementations in the RapidMiner 5.0. More information is given in the course site: https://sites.google.com/site/gladyscjaprendizagem/program/pre-processing

Published in: Education, Technology
3 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
7,019
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
206
0
Likes
3
Embeds 0
No embeds

No notes for slide
• The k-means clustering discretization method can be seen either as a supervised discretization method[2], when the clustering is performed for all attribute values for each value of the target attribute or as an unsupervised discretization method[3] when one discretizes the attribute without taking in account the values of the target attribute (classes). The k-means clustering algorithm operates on a set of data points and assumes that the number of clusters to be determined (k) is given. Initially, the algorithm assigns randomly k data points to be the so called centers (or centroids) of the clusters. Then each data point of the given set is associated to the closest center resulting the initial distribution of the clusters. After this initial step, the next two steps are performed until the convergence is obtained: 1. Recompute the centers of the clusters as the average of all values in each cluster. 2. Each data point is assigned to the closest center. The clusters are formed again. The algorithm stops when there is no data point that needs to be reassigned or the number of data points reassignments is less than a given small number. The convergence of the iterative scheme is guaranteed in a finite number of iterations but the convergence is only to a local optimum, depending very much on the choice of the initial centers of the clusters.
• ### Lesson 2: Pre-processing using RapidMiner 5.0

1. 1. Capítulo 2 Pré-processamentoAprendizagem Computacional Gladys Castillo, U A
2. 2. Dados Exemplo de Dados Rotulados Dados = colecção de objectos e os seus 4 atributos atributos Objecto = colecção de atributos Tid Refund Marital Taxable Status Income Cheat  Objecto = registo = ponto = caso = exemplo = instância 1 Yes Single 125K No Atributo = propriedade ou característica 2 No Married 100K No de um objecto 3 No Single 70K No 10 Objectos  Atributo = variável = campo = 4 Yes Married 120K No característica = feature 5 No Divorced 95K Yes Valor do atributo = números ou símbolos 6 No Married 60K No que podem ser atribuídos a um atributo 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 10 2 classesAprendizagem Computacional Gladys Castillo, U A 2
3. 3. Tipos de Atributos  Atributos categóricos (nominal ou ordinal)  só podem tomar um número finito de valores distintos  enumeração pode implicar ordem  caso especial: atributos binários  Ex: número de irmãos de uma pessoa  Atributos numéricos  tomam todos os valores numéricos compreendidos no seu intervalo (domínio) de variação.  frequentemente representados como números reais  Ex: altura e peso de uma pessoaAprendizagem Computacional Gladys Castillo, U A 3
4. 4. Tipos de Atributos em RapidMinerAprendizagem Computacional Gladys Castillo, U A 4
5. 5. Base de dados – Play golf? hot > mild > cool high>normal> low Discreto Discreto Discreto Discreto Discreto (binário) (binário) Discreto Discreto Discreto Atributos Numéricos (binário) (binário)Aprendizagem Computacional Gladys Castillo, U A 5
6. 6. Explorando “Golf” com RapidMiner 5 O operador Retrieve nos permite o acesso a uma base de dadosAprendizagem Computacional Gladys Castillo, U A 6
7. 7. RapidMiner: Seleccionando a base de dados Aqui podemos seleccionar o conjunto de dados. Na pasta Samples/data podemos encontrar o ficheiro golf.amlAprendizagem Computacional Gladys Castillo, U A 7
8. 8. RapidMiner: Executando um projecto Aqui clicar para correr o projectoAprendizagem Computacional Gladys Castillo, U A 8
9. 9. RapidMiner: sumarizando os dados Esta coluna contêm os nomes dos atributos da base de dados “golf” também conhecida como “weather” Se o atributo é discreto apresenta a moda, se numérico a média Se discreto apresenta os possíveis valores; se numérico o domínio (range) de possíveis valores Os atributos Outlook e Wind são de tipo discretos (definidos como nominal) e os atributos Temperature e Humidity são de tipo numéricos (definidos como de tipo integer porque neste caso os seus valores são realmente números inteiros).Aprendizagem Computacional Gladys Castillo, U A 9
10. 10. RapidMiner: visualizando os dados Clicando aqui podemos ver todos os dadosAprendizagem Computacional Gladys Castillo, U A 10
11. 11. RapidMiner: visualização gráfica Clicando aqui podemos usar as ferramentas de visualização gráfica dos dados. Aqui estamos a seleccionar desenhar uma Scatter MatrixAprendizagem Computacional Gladys Castillo, U A 11
12. 12. RapidMiner: Scateer Matrix no y es unk now n Ou tl o o k Ou tl o o k Ou tl o o k A Scatter Matrix mostra graficamente a relação entre dois atributos. No caso de exemplos rotulados N o plots s elec ted. Te m p e ratu re u n k n o wn Te m p e ratu re Hu m i d i ty Te m p e ratu re Te m p e ratu re Wi n d mostra o grau como dois atributos separam as classes. Se é possível traçar uma linha ou uma outra curva que separe correctamente as classes, então significa que é No p l o ts s e l e c te d . possível construir um classificador Hu m i d i ty Ou tl o o k Hu m i d i ty u n k n o wn Hu m i d i ty Hu m i d i ty Wi n d (com um bom desempenho) baseado nestes dois atributos. Note que neste problema só No p l o ts s e l e c te d . separam as classes os atributos Wi n d Ou tl o o k Wi n d Te m p e ratu re Wi n d u n k n o wn Wi n d Outlook e Wind (ambos discretos). No p l o ts s e l e c te d . Ou tl o o k Te m p e ratu re Hu m i d i tyAprendizagem Computacional Gladys Castillo, U A 12
13. 13. Scateer (Temperature x Humidity)Hu m i d i ty no y es 1 .0 0 E2 Este ponto representa os valores dos 9 .5 0 E1 atributos Temperature e Humidity do exemplo nº 2 que pertence a classe “no play” 9 .0 0 E1 8 .5 0 E1 8 .0 0 E1 7 .5 0 E1 7 .0 0 E1 6 .5 0 E1 6 .4 0 E1 6 .6 0 E1 6 .8 0 E1 7 .0 0 E1 7 .2 0 E1 7 .4 0 E1 7 .6 0 E1 7 .8 0 E1 8 .0 0 E1 8 .2 0 E1 8 .4 0 E1 8 .6 0 E1 Te m p e ra tu re Este ponto representa os valores dos atributos Temperature e Humidity do exemplo nº 11 que pertence a classe “play”Aprendizagem Computacional Gladys Castillo, U A 13
14. 14. Fases em KDD O objectivo da fase de pre-processamento é seleccionar dados relevantes em relação à tarefa de aprendizagemAprendizagem Computacional Gladys Castillo, U A 14
15. 15. Tarefas de Pre-processamento Gráfico de Data Mining: Concepts and Techniques Han && KamberAprendizagem Computacional Gladys Castillo, U A 15
16. 16. Tarefas de Pré-processamento  Limpeza  Tratamento de valores desconhecidos (missing values), ruídos, outliers e inconsistências  Agregação  Integração de múltiplas bases de dados  Sampling (redução de nº de objectos)  Uma amostra (sample) pode ser seleccionada dos dados se esta é suficientemente representativa  Redução da dimensionalidade (redução do espaço de atributos)  PCA - projecção do espaço de atributos num espaço de menor dimensão)  FSS (feature subset selection) – seleccionar subconjunto de atributos por forma a eliminar atributos redundantes e irrelevantes  Transformação  Normalização (standarização) e aplicação de funções (ex: log, sqrt, etc.)Aprendizagem Computacional Gladys Castillo, U A 16
17. 17. Tratando Missing Values em RapidMiner 1. Eliminar os exemplos com missing values ou ignorá-los durante a análises 2. Estimar (imputar) missing values usando diferentes algoritmos 3. Substituir os valores em falta com o valor mínimo ou máximo, valor médio, etc.Aprendizagem Computacional Gladys Castillo, U A 17
18. 18. Replace Missing ValuesAprendizagem Computacional Gladys Castillo, U A 18
19. 19. Operador: Replace Missing Values Podemos escolher entre substituir pelo valor mínimo, máximo, média, zero, etcAprendizagem Computacional Gladys Castillo, U A 19
20. 20. Antes de tratar missing values Esta coluna na janela de “Meta Data View” com nome “Unknown” mostra o # de valores desconhecidos para cada atributoAprendizagem Computacional Gladys Castillo, U A 20
21. 21. Depois de tratar Missing Values Aqui já não existem valores desconhecidosAprendizagem Computacional Gladys Castillo, U A 21
22. 22. Redução da Dimensionalidade Análise de Componentes Principais (PCA) AIM: Find a projection that captures the largest amount of variation in data ( Find the eigenvectors of the covariance matrix to define the new space )x2 • Eigen Vectors show the direction of axes of a fitted ellipsoid • Eigen Values show the significance of the corresponding axis • For high dimensional data: only few of eigen values are significant x2 PCA Procedure: x1 1. Determine the covariance matrix e 2. Finding its Eigen values and Eigen Vectors 3. Deciding on which are significant 4. Forming a new coordinate system defined by the significant Eigen vectors  lower dimensions for new coordinates x1 5. Mapping data to the new spaceAprendizagem Computacional Gladys Castillo, U A 22
23. 23. PCA em RapidMinerAprendizagem Computacional Gladys Castillo, U A 23
24. 24. Antes de aplicar PCA IRIS Data (Fisher, 1936)  3 classes  setosa  versicolor  virginica  4 atributos  comprimento da pétala  largura da pétala  comprimento da sépala  largura da sépala O conjunto de dados contêm 50 exemplos por cada classe On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.htmlAprendizagem Computacional Gladys Castillo, U A 24
25. 25. Depois de aplicar PCA Duas componentes explicam o 95.8 % da variabilidade existente nos dadosOs 4 atributos são projectados a duas componentes principaisAprendizagem Computacional Gladys Castillo, U A 25
26. 26. Fermentação do Vinho • 13 atributos contínuos • 3 produtores e 178 exemplos: • Produtor 1: 59 exemplos • Produtor 2: 71 exemplos • Produtor 3: 48 exemplos O Proline é o atributo do vinho que maiscontribui à variabilidade existente nos dados Valores própriosAprendizagem Computacional Gladys Castillo, U A 26
27. 27. Gráfico resultante do PCA 0 -20 0 500 1000 1500 2000 -40 -60 produtor 1 PC2 -80 produtor 2 -100 produtor 3 -120 -140 -160 PC1 Gráfico para uma só componente principal 1 produtor 1 produtor 2 produtor 3 0 0 200 400 600 800 1000 1200 1400 1600 1800 P C1Aprendizagem Computacional Gladys Castillo, U A 27
29. 29. PCA in Face Recognition Face Recognition Problem: Given an image of human face, compare it with models in the face databases and report who it is if a match exists.  The problem before face recognition is face detection: finds the face in the image (using computer vision techniques)  Each face image is a two dimensional array of intensity values (46x46 pixels) which can be treated as a vector or a point in a space of dimension 2116 each face image = object (example) described trough 2116 atributes  PCA is applied to find the aspects of the face which are important for identification. A new coordinate system is created for the faces using the eigenvectors of a set of face images  Eigen vector is actually an image called an eigenface. on-line em http://people.cs.uchicago.edu/~qingj/ThesisHtml/ © Qing JiangAprendizagem Computacional Gladys Castillo, U A 29
30. 30. PCA in Face Recognition Matthew Turk and Alex Pentland applied PCA to face recognition. Eigenfaces are calculated from the training face image set. Part of the face images used to create eigenspace © Qing JiangAprendizagem Computacional Gladys Castillo, U A 30
31. 31. PCA applied in Face Recognition • Eigenvectors with bigger eigenvalues provide more information on the face variation than those with smaller eigenvalues • This is in contrast to the Euclidian space representation where all axes are of the same importance The first 20 eigenfaces with the highest eigenvalues Eigenfaces with eigenvalues ranked from 141 to 160 © Qing JiangAprendizagem Computacional Gladys Castillo, U A 31
32. 32. PCA in Face Recognition A separated neural network is built for each person to recognize a face through learning correct classification of new descriptors in the PCA coordinate system. The input face is projected onto the eigenface space and the obtained weights are used as input to each persons network. The one with maximum output is selected © Qing JiangAprendizagem Computacional Gladys Castillo, U A 32
33. 33. PCA in Face Recognition Faces reconstructed using eigenfaces with high eigenvalues. The label above each face is the range of eigenfaces used. © Qing JiangAprendizagem Computacional Gladys Castillo, U A 33
34. 34. PCA in Face Recognition Faces reconstructed using eigenfaces with low eigenvalues © Qing JiangAprendizagem Computacional Gladys Castillo, U A 34
35. 35. Selecção de Atributos (Feature Subset Selection) A dimensionalidade é reduzida usando apenas um subconjunto de atributos Que tipo de atributos podemos remover?  Atributos redundantes: duplicam muita da informação contida em um ou mais atributos  Ex: preço de um produto e valor total da venda  Atributos irrelevantes: não contêm informação útil para a tarefa de aprendizagem  Ex: o número mecanográfico de um aluno é irrelevante na tarefa de prever o seu desempenho A existência de atributos redundantes e irrelevantes pode afectar o desempenho de um classificador ou a qualidade dos clusters que podem ser construídos dos dadosAprendizagem Computacional Gladys Castillo, U A 35
36. 36. Selecção de Atributos Realizada como parte do algoritmo de aprendizagem, isto é, o próprio algoritmo decide Embedded quais os atributos a usar, exemplo: C4.5 para a indução de árvores de decisão O próprio algoritmo de FSS aprendizagem é usado como Wrapper “caixa preta” para obter uma medida de avaliação para cada subconjunto candidato Os atributos são seleccionados Filter antes da aplicação do algoritmo de aprendizagemAprendizagem Computacional Gladys Castillo, U A 36
37. 37. Feature Subset Selection Abordagem de força bruta: (brute-force approach) Explorar todos os possíveis subconjuntos de atributos e escolher aquele que produz os melhores resultados para a tarefa de aprendizagem computacionalmente muito caro, se n atributos então temos que explorar 2n -1 possíveis subconjuntos © P. Larrañaga et. al.Aprendizagem Computacional Gladys Castillo, U A 37
38. 38. FSS como Problema de Busca Objectivo: buscar o subconjunto de atributos no espaço de possíveis subconjuntos com o melhor valor de uma “medida de bondade” 1. Medida para avaliar a bondade (“goodnest”) em relação á tarefa de aprendizagem (classificação, clustering, etc) determina a função objectivo que guia a busca no espaço de possíveis subconjuntos 2. Estratégia de busca: brute-force vs. heuristics (hill-climbing, best-first search, etc.) 3. Critério de paragem: nº máximo de iterações, nº máximo de elementos no subconjunto, valor de f.o. ultrapassa limiar dado, etc. 4. Procedimento de validação: Avaliar o desempenho do modelo induzido usando todos os atributos vs. usando apenas o subconjunto obtidoAprendizagem Computacional Gladys Castillo, U A 38
39. 39. FSS – FiltrosOs atributos são seleccionados antes da fase de aprendizagem. Normalmente usam-setestes estatísticos ou medida de informação mútua para medir o grau de correlação entrecada atributo e a classe (se classificação) ou entre pares de atributos (se clustering)Conjunto de Treino FILTER FSS Subconjunto Atributos Estratégia de Busca Atributos Subconjunto sim Critério Avaliação segundo Atributos de Paragem? medida de bondade usar conjunto de treino apenas com os atributos seleccionados FASE DE APRENDIZAGEM Algoritmo Modelo de Aprendizagem induzidoAprendizagem Computacional Gladys Castillo, U A 39
40. 40. Selecção de Atributos Estratégias de busca em RapidMiner Os algoritmos de busca do melhor subconjunto de atributos são algoritmos de optimização combinatória  BruteForce: (busca exhaustiva) todos os subconjuntos são avaliados e é escolhido aquele com melhor valor da medida de bondade muito custoso computacionalmente  forward selection: algoritmo guloso (hill-climbing) - começa com um conjunto de atributos vazio e vai adicionando novos atributos que trazem maior incremento no valor da medida. Termina se a adição de um novo atributo não traz nenhuma melhora  backward elimination: algoritmo guloso (hill- climbing) começa com o conjunto de atributos completos e vai removendo atributos cuja remoção melhora ou pelo menos não piora o valor da medida de bondade  Evolutionary: implementa algoritmos genéticosAprendizagem Computacional Gladys Castillo, U A 40
41. 41. Selecção de Atributos por Filtro Medida de bondade: CFS  Performance (CFS): calcula el CFS (correlation- based feature selection attribute) para cada subconjunto de atributos candidato. O melhor subconjunto é aquele que apresenta:  uma forte correlação de cada atributo com a classe, mas  uma fraca correlação entre os atributos nrcl CFS (S ) n n(n 1)rll S  subconjunto a avaliar n  número de atributos  média das correlações entre os atributos e a classe  média das correlações entre atributos Para usar este operador deve ser instalado o plugin de Weka extensionsAprendizagem Computacional Gladys Castillo, U A 41
42. 42. Selecção de Atributos por Filtro Implementação em RapidMiner Algoritmo de busca Avaliação desempenho Durante o processo de busca implementado pelo algoritmo genético, cada subconjunto de atributos candidato é avaliado usando como medida de bondade o CFS correlation value.Aprendizagem Computacional Gladys Castillo, U A 42
43. 43. Selecção de Atributos por Filtro Implementação em RapidMiner Os atributos seleccionados são os que ficam com peso 1 Durante o processo de busca implementado pelo algoritmo genético, cada subconjunto de atributos candidato é avaliado usando como medida de bondade o CFS correlation value. Como resultado o conjunto seleccionado tem 0.125 de correlação, um valor baixo.Aprendizagem Computacional Gladys Castillo, U A 43
44. 44. FSS – Wrapper Usa o próprio algoritmo de aprendizagem como caixa preta (black-box) para obter uma medida de desempenho de cada conjunto de atributos candidato Conjunto de Treino WRAPPER FSS Subconjunto de Treino Estratégia Subconjunto Atributos de Busca Atributos Algoritmo de Aprendizagem Subconjunto sim Crit. de Avaliação Modelo Atributos Paragem do desempenho usar conjunto de treino apenas com os atributos seleccionados Algoritmo Modelo de Aprendizagem induzidoFASE DE APRENDIZAGEMAprendizagem Computacional Gladys Castillo, U A 44
45. 45. Selecção de Atributos com Wrapper Implementação em RapidMiner Durante o processo de busca, cada subconjunto de atributos candidato é avaliado usando como medida de bondade o resultado da estimação Algoritmo de busca do desempenho de um classificador (neste caso o k-NN) que é induzido usando um conjunto de treino que contêm para cada exemplo apenas os valores dos atributos deste subconjunto e a classe correspondente Avaliação desempenhoAprendizagem Computacional Gladys Castillo, U A 45
46. 46. Selecção de Atributos. Pesagem de Atributos (Feature Weighting) a cada atributo Xi é atribuído um peso wi que reflecte a sua importância na tarefa de aprendizagem  um atributo com maior peso é mais relevante do que um atributo com menor peso os atributos são ordenados segundo os pesos  normalmente os pesos são normalizados para que fiquem no intervalo [0,1]) podem ser seleccionados os k atributos com maiores pesos ou, alternativamente, aqueles com peso superior a um dado threshold o peso atribuído a um atributo pode ser calculado por diferentes métodosAprendizagem Computacional Gladys Castillo, U A 46
48. 48. Pesagem com Chi-Quadrado Exemplo: Jogar Golfo? 1º. Criar tabela de contingência para Play x Wind com as frequências observadas TotalLinha i FreqEsp ij TotalColun a j Total2º Calcular as frequências esperadas Wind 3º Calcular a estadística chi-quadrado false true Play Obs Esp (0-E)2/E Obs Esp (0-E)2/E no 2 2.8571 0.2571 3 2.1429 0.3428 yes 6 5.1429 0.1428 3 3.8571 0.1905 2=0.9332 8 Esp 11 5 2.8571 14 Aprendizagem Computacional Gladys Castillo, U A 48
49. 49. Selecção de Atributos. Teste do Chi-Quadrado 1. Para cada atributo discreto Xi calcular a estatística 2 Atributo 2 Outlook 3,547 Se o atributo não é discreto é preciso aplicar um método de discretização Wind O,933 Temperature 6,741 Humidity 3,474 2. Normalizar estes valores por forma a que fiquem no intervalo [0,1] Podemos normalizar para obter valores num intervalo [a,b] aplicando o método de min-max (valor min) normValor (max- min) (a - b) b A temperatura é o atributo mais Atributo 2 2 normalizado relevante com Outlook 3,547 0,450 relação à decisão se Wind O,933 0 ir ou não a jogar Temperature 6,741 1 golf Humidity 3,474 0,438Aprendizagem Computacional Gladys Castillo, U A 49
50. 50. Attribute Weighting em RapidMiner Primeiro os pesos dos atributos são calculados usando PCA com o operador Weight by PCA e depois é aplicado o operador Select by Weight para seleccionar os atributos com peso maior que um limiar indicadoAprendizagem Computacional Gladys Castillo, U A 50
51. 51. O Operador Select by Weights seleccionar os atributos com peso 0.5Aprendizagem Computacional Gladys Castillo, U A 51