SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Redu¸c˜ao de Dimensionalidade
Fabr´ıcio J. Barth
P´os Gradua¸c˜ao em Big Data - BandTec
Junho de 2015
http://fbarth.net.br/cursoBigData
Sum´ario
• Justificativa
• Ideia principal
• Algoritmo PCA
• Escolhendo o n´umero de componentes principais
• Alguns exemplos
• Considera¸c˜oes finais
Redu¸c˜ao de Dimensionalidade — Sum´ario 2
http://fbarth.net.br/cursoBigData
Justificativa
• Em muitas situa¸c˜oes temos que trabalhar com
datasets com muitas dimens˜oes.
Redu¸c˜ao de Dimensionalidade — Justificativa 3
http://fbarth.net.br/cursoBigData
• Tais datasets s˜ao dif´ıceis de serem visualizados.
Conseguimos visualizar bem apenas datasets com duas
ou trˆes dimens˜oes. Eventualmente, conseguimos fazer
uso do scatterplot para visualizar mais dimens˜oes. No
entanto, quanto maior o n´umero de visualiza¸c˜oes, mais
dif´ıcil ´e esta visualiza¸c˜ao.
• Podem n˜ao ser adequados para a cria¸c˜ao de alguns
modelos preditivos.
• Ocupam muito espa¸co. Ou seja, poderiam ser
compactados.
Redu¸c˜ao de Dimensionalidade — Justificativa 4
Ideia principal
5
http://fbarth.net.br/cursoBigData
Exemplo
Ideia principal — Exemplo 6
http://fbarth.net.br/cursoBigData
tamanho preco
1 60.00 550.00
2 80.00 780.00
3 90.00 910.00
4 100.00 1100.00
5 140.00 1350.00
6 150.00 1500.00
X ∈ 2
Ideia principal — Exemplo 7
http://fbarth.net.br/cursoBigData
´E necess´ario projetar os pontos X ∈ 2 para z ∈ 1 de tal forma que a distˆancia entre os pontos em X
para z seja a m´ınima poss´ıvel.
Ideia principal — Exemplo 8
http://fbarth.net.br/cursoBigData
z = {−1.9102, −1.1654, −0.7658, −0.2574, 0.8514, 1.2872, 1.9602}
Ideia principal — Exemplo 9
http://fbarth.net.br/cursoBigData
casas <- data.frame(tamanho=c(60,80,90,100,140,150,180),
preco=c(550,780,910,1100,1350,1500,1600))
pca <- prcomp(casas, scale. = TRUE)
summary(pca)
z <- pca$x[,1]
PC1 PC2
Standard deviation 1.4074 0.1387
Proportion of Variance 0.9904 0.0096
Cumulative Proportion 0.9904 1.0000
> z
[1] -1.9102 -1.1654 -0.7658 -0.2574 0.8514 1.2872 1.9602
Ideia principal — Exemplo 10
http://fbarth.net.br/cursoBigData
Outro exemplo com duas dimens˜oes
Ideia principal — Outro exemplo com duas dimens˜oes 11
http://fbarth.net.br/cursoBigData
Ideia principal — Outro exemplo com duas dimens˜oes 12
http://fbarth.net.br/cursoBigData
Ideia principal — Outro exemplo com duas dimens˜oes 13
http://fbarth.net.br/cursoBigData
data(cars)
pca <- prcomp(cars, scale. = TRUE)
summary(pca)
PC1 PC2
Standard deviation 1.3442 0.4394
Proportion of Variance 0.9034 0.0965
Cumulative Proportion 0.9034 1.0000
Ideia principal — Outro exemplo com duas dimens˜oes 14
http://fbarth.net.br/cursoBigData
Um exemplo com 4 dimens˜oes
Murder Assault UrbanPop Rape
Alabama 13.20 236 58 21.20
Alaska 10.00 263 48 44.50
Arizona 8.10 294 80 31.00
Arkansas 8.80 190 50 19.50
California 9.00 276 91 40.60
Colorado 7.90 204 78 38.70
· · · · · · · · · · · · · · ·
Dataset com informa¸c˜oes sobre assassinos presos (murder), de assaltantes presos (assault), estupradores presos
(rape) e o percentual da popula¸c˜ao que ´e urbana (UrbanPop) de 50 estados americanosa.
aOs n´umeros em murder, assault e rape s˜ao os n´umeros de
ocorrˆencias para cada 100.000 habitantes.
Ideia principal — Um exemplo com 4 dimens˜oes 15
http://fbarth.net.br/cursoBigData
Ideia principal — Um exemplo com 4 dimens˜oes 16
http://fbarth.net.br/cursoBigData
Ideia principal — Um exemplo com 4 dimens˜oes 17
http://fbarth.net.br/cursoBigData
Como projetar os pontos X ∈ 3
para
z ∈ 2
?
Fazer o desenho da proje¸c˜ao.
Ideia principal — Como projetar os pontos X ∈ 3 para z ∈ 2? 18
http://fbarth.net.br/cursoBigData
Fazendo a proje¸c˜ao para 2
# Levando-se em consideracao apenas Murder, Assault e Rape
pca <- prcomp(USArrests[,c(1,2,4)], scale. = TRUE)
summary(pca)
PC1 PC2 PC3
Standard deviation 1.5358 0.6768 0.4282
Proportion of Variance 0.7862 0.1527 0.0611
Cumulative Proportion 0.7862 0.9389 1.0000
head(pca$x[,1:2])
PC1 PC2
Alabama -1.20 0.83
Alaska -2.31 -1.52
Arizona -1.50 -0.50
Arkansas -0.18 0.32
California -2.05 -1.27
Colorado -1.26 -1.43
Ideia principal — Fazendo a proje¸c˜ao para 2 19
http://fbarth.net.br/cursoBigData
Ideia principal — Fazendo a proje¸c˜ao para 2 20
http://fbarth.net.br/cursoBigData
Ideia principal — Fazendo a proje¸c˜ao para 2 21
http://fbarth.net.br/cursoBigData
# Para todo o dataset
pca <- prcomp(USArrests, scale. = TRUE)
summary(pca)
pca$rotation
PC1 PC2 PC3 PC4
Standard deviation 1.5749 0.9949 0.5971 0.4164
Proportion of Variance 0.6201 0.2474 0.0891 0.0434
Cumulative Proportion 0.6201 0.8675 0.9566 1.0000
PC1 PC2 PC3 PC4
Murder -0.54 0.42 -0.34 0.65
Assault -0.58 0.19 -0.27 -0.74
UrbanPop -0.28 -0.87 -0.38 0.13
Rape -0.54 -0.17 0.82 0.09
Ideia principal — Fazendo a proje¸c˜ao para 2 22
http://fbarth.net.br/cursoBigData
Os atributos de murder, assault e rape est˜ao correlacionadas, enquanto que a vari´avel UrbanPop n˜ao est´a
correlacionada com as outras.
Ideia principal — Fazendo a proje¸c˜ao para 2 23
http://fbarth.net.br/cursoBigData
No ´ındice de urbaniza¸c˜ao, quanto mais em baixo do gr´afico, mais urbano. Para o ´ındice de violˆencia, quanto
mais a esquerda, mais violento
Ideia principal — Fazendo a proje¸c˜ao para 2 24
Principal Component
Analysis (PCA)
25
http://fbarth.net.br/cursoBigData
Algoritmo PCA
• Reduz dados de n-dimens˜oes para k-dimens˜oes.
• Calcular a matriz de covariˆancia:
Sigma =
1
m
n
i=1
(X[i, ])(X[i, ])T
(1)
• Calcular os autovetoresa
da matriz Sigma
U = SV D(Sigma), onde U ∈ n×n
.
• Calcular os PCAs, na forma de z:
Ureduce = U[, 1 : K] (2)
z = (Ureduce)T
× XT
(3)
aSingular Value Decomposition (SVD) - algebra linear
Principal Component Analysis (PCA) — Algoritmo PCA 26
http://fbarth.net.br/cursoBigData
Algoritmo PCA: pr´e-processamento dos
dados
• Os dados precisam estar normalizados! Mesma
situa¸c˜ao do k − means.
• No R, a maioria das implementa¸c˜oes de PCA j´a
fornecem esta op¸c˜ao como parˆametro.
• No prcomp, basta informar que o parˆametro scale. ´e
verdadeiro.
pca <- prcomp(dataset, scale. = TRUE)
Principal Component Analysis (PCA) — Algoritmo PCA: pr´e-processamento dos dados 27
http://fbarth.net.br/cursoBigData
Escolhendo o n´umero de componentes
principais
> summary(pca)
Importance of components:
PC1 PC2 PC3 PC4
Standard deviation 1.5749 0.9949 0.59713 0.41645
Proportion of Variance 0.6201 0.2474 0.08914 0.04336
Cumulative Proportion 0.6201 0.8675 0.95664 1.00000
Principal Component Analysis (PCA) — Escolhendo o n´umero de componentes principais 28
http://fbarth.net.br/cursoBigData
Alguns exemplos
Exemplos de uso de PCA
Principal Component Analysis (PCA) — Alguns exemplos 29
http://fbarth.net.br/cursoBigData
Revisando a aplicabilidade
• Reduzir mem´oria e disco necess´ario para armazenar os
dados.
• Minimizar o tempo de processamento dos algoritmos
de aprendizagem.
• Visualiza¸c˜ao de dados.
Principal Component Analysis (PCA) — Revisando a aplicabilidade 30
http://fbarth.net.br/cursoBigData
Material de consulta
• Cap´ıtulo 10 do livro Gareth James, Daniela Witten,
Trevor Hastie, and Robert Tibshirani. An Introduction
to Statistical Learning with Applications in R.
Springer, 4th edition, 2014.
Principal Component Analysis (PCA) — Material de consulta 31

Contenu connexe

Similaire à Redução de dimensionalidade - Pós Graduação em Big Data

[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
Marcio Machado Pereira
 
17.ago topázio 11.35_254_light
17.ago topázio 11.35_254_light17.ago topázio 11.35_254_light
17.ago topázio 11.35_254_light
itgfiles
 

Similaire à Redução de dimensionalidade - Pós Graduação em Big Data (20)

Big data
Big dataBig data
Big data
 
Cp e cpk
Cp e cpkCp e cpk
Cp e cpk
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
 
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
 
IMRT, sua Implementação no CAT3D
IMRT,  sua Implementação no CAT3DIMRT,  sua Implementação no CAT3D
IMRT, sua Implementação no CAT3D
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionado
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
Dia a dia do Cientista de Dados
Dia a dia do Cientista de DadosDia a dia do Cientista de Dados
Dia a dia do Cientista de Dados
 
Mmq
MmqMmq
Mmq
 
Otimizador de Rotas - PythonBrasil[6]
Otimizador de Rotas - PythonBrasil[6]Otimizador de Rotas - PythonBrasil[6]
Otimizador de Rotas - PythonBrasil[6]
 
Modelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetriaModelagem e inversão em coordenadas esféricas na gravimetria
Modelagem e inversão em coordenadas esféricas na gravimetria
 
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
 
Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2
Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2
Escalando o algoritmo de aprendizagem da estrutura da rede bayesiana k2
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 
17.ago topázio 11.35_254_light
17.ago topázio 11.35_254_light17.ago topázio 11.35_254_light
17.ago topázio 11.35_254_light
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)
 

Plus de Fabrício Barth

Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
Fabrício Barth
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
Fabrício Barth
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
Fabrício Barth
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
Fabrício Barth
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
Fabrício Barth
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
Fabrício Barth
 

Plus de Fabrício Barth (20)

Mineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big DataMineração de padrões frequentes - Pós Graduação em Big Data
Mineração de padrões frequentes - Pós Graduação em Big Data
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Iniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.comIniciativas em Big Data no VAGAS.com
Iniciativas em Big Data no VAGAS.com
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random Forest
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivos
 
Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...Web Data Mining com R: criação de regras de associação a partir da navegação ...
Web Data Mining com R: criação de regras de associação a partir da navegação ...
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquina
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
 

Redução de dimensionalidade - Pós Graduação em Big Data