Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Reduçao de Dimensionalidade - Guilherme Marson.pdf

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Big data
Big data
Cargando en…3
×

Eche un vistazo a continuación

1 de 117 Anuncio

Reduçao de Dimensionalidade - Guilherme Marson.pdf

Descargar para leer sin conexión

análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados

análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados análise de dados

Anuncio
Anuncio

Más Contenido Relacionado

Similares a Reduçao de Dimensionalidade - Guilherme Marson.pdf (20)

Más reciente (20)

Anuncio

Reduçao de Dimensionalidade - Guilherme Marson.pdf

  1. 1. JÁ VAI COMEÇAR ENQUANTO ISSO… - Escolha um lugar confortável para você sentar e se acomodar - Que tal pegar um snack pra matar a fome, uma água, um chá - Abra o chat, envie um “olá” e #sentimento de como chega - Que tal pegar caderno e caneta para anotações Extração, Transformação e Carga de Dados _ QUE BOM QUE VOCÊ VEIO
  2. 2. _ WELCOME QUE BOM QUE VOCÊ VEIO!
  3. 3. Quem ainda não digitou, abra o Chat e coloque um #sentimento que chega aqui hoje CHECK-IN & WARMUP
  4. 4. RELEMBRANDO OS ACORDOS Mais algum acordo? - Tenha ao alcance: carregador, snacks, água e fone de ouvido - Cuidado com o horário: procure entrar na sala um pouco antes do horário - Luz, câmera, ação! Mantenha a câmera aberta para a gente se ver e se conhecer. - Participe! Não esqueça do “leadership”. Se coloquem, falem, chutem, participem! Usem tanto o chat, aberto ou privado, como o microfone para isso. - Facilitação está aqui para ajudar: além do fluxo do conteúdo e do tempo, conto com vocês para me dizerem se algo não está claro, pode ser melhor ou só para trocar uma ideia =) - Autocuidado, cuide da sua energia para estar presente na hora da aula
  5. 5. EXPECTATIVAS SOBRE OS TEMAS O que esperam aprender sobre os temas de hoje?
  6. 6. Guilherme Marson Data and Insights Manager no Mercado Livre Clustering - Modelagem e Algoritmos + PCA https:/ /www.linkedin.com/in/gmarson
  7. 7. AGENDA ● Bloco 1: O que é redução de dimensionalidade? ● Bloco 2: Por que reduzir dimensionalidade? ● Bloco 3: Estudo de caso: uma regressão para entender clusterização (redução de dimensionalidade) ● Bloco 4: Seleção de Variáveis + Intervalo - 10 min ● Bloco 4: PCA (1933) ● Bloco 5: t-sne (2008) _ NOSSO ENCONTRO DE HOJE
  8. 8. Metodologia: Stress + Rest = Growth “Peak Performance: Elevate Your Game, Avoid Burnout, and Thrive with the New Science of Success” Brad Stulberg e Steve Magness
  9. 9. O que são Dimensões?
  10. 10. Redução de Dimensionalidade - Introdução ❖ O número de variáveis (features) de um dataset é chamado de dimensionalidade do dataset ❖ Reduzir a dimensionalidade consiste em reduzir a quantidade de variáveis de um dataset ❖ Técnicas para redução de dimensionalidade: ➢ Seleção de Variáveis ➢ Fatorização Matricial (PCA) ➢ Aprendizado Múltiplo (t-sne) ➢ Autoencoder
  11. 11. Redução de Dimensionalidade - Introdução ❖ O número de variáveis (features) de um dataset é chamado de dimensionalidade do dataset ❖ Reduzir a dimensionalidade consiste em reduzir a quantidade de variáveis de um dataset ❖ Técnicas para redução de dimensionalidade: ➢ Seleção de Variáveis ➢ Fatorização Matricial ➢ Aprendizado Múltiplo ➢ Autoencoder
  12. 12. Por que reduzir dimensionalidade ? ❖ Dificuldade em visualizar objetos com mais de 3 dimensões 1 Dimension 2 Dimensions 3 Dimensions 4 Dimensions 5 Dimensions
  13. 13. Por que reduzir dimensionalidade ? ❖ Dados Esparsos ➢ Ex: one-hot encoding ➢ Aumenta a necessidade de observações para que algoritmos “aprendam” sobre o dataset, o que aumenta ainda mais a complexidade.
  14. 14. Por que reduzir dimensionalidade ? ❖ Aumento da complexidade e do poder computacional necessário para processar os dados
  15. 15. Por que reduzir dimensionalidade ? ❖ Aumento da complexidade e do poder computacional necessário para processar os dados
  16. 16. Por que reduzir dimensionalidade ? ❖ Aumento da complexidade e do poder computacional necessário para processar os dados ❖ Imagem 100x100 pixels:
  17. 17. Por que reduzir dimensionalidade ? ❖ Aumento da complexidade e do poder computacional necessário para processar os dados ❖ Imagem 100x100 pixels: ➢ Red: 100x100=10.000 ➢ Green: 100x100=10.000 ➢ Blue: 100x100=10.000
  18. 18. Por que reduzir dimensionalidade ? ❖ Aumento da complexidade e do poder computacional necessário para processar os dados ❖ Imagem 100x100 pixels: ➢ Red: 100x100=10.000 ➢ Green: 100x100=10.000 ➢ Blue: 100x100=10.000 ➢ Total: 30.000 features
  19. 19. ALGUMA DÚVIDA?
  20. 20. Se acomodem, pois nossa jornada épica começa agora
  21. 21. O problema ❖ Quantas calorias tem uma pizza?
  22. 22. O problema ❖ Quantas calorias tem uma pizza? ➢ Precisamos de um dataset
  23. 23. O problema ❖ Quantas calorias tem uma pizza? ➢ Precisamos de um dataset* brand Marca da Pizza id Identificador mois Quantidade de água por 100g prot Quantidade de proteína por 100g fat Quantidade de gordura por 100g ash Quantidade de farinha não incorporada por 100g sodium Quantidade de sódio por 100g carb Quantidade de carboidratos por 100g cal Quantidade de calorias por 100g * https:/ /data.world/sdhilip/pizza-datasets
  24. 24. O problema ❖ Quantas calorias tem uma pizza? ➢ Precisamos de um dataset* brand Marca da Pizza id Identificador mois Quantidade de água por 100g prot Quantidade de proteína por 100g fat Quantidade de gordura por 100g ash Quantidade de farinha não incorporada por 100g sodium Quantidade de sódio por 100g carb Quantidade de carboidratos por 100g cal Quantidade de calorias por 100g ❖ Será que essas variáveis podem ser utilizadas como preditores de calorias? ❖ Utilizaremos apenas as variáveis numéricas * https:/ /data.world/sdhilip/pizza-datasets
  25. 25. Hora de programar
  26. 26. Conhecendo o dataframe
  27. 27. Trabalhando o dataframe
  28. 28. Uma rápida olhada nos dados
  29. 29. Uma rápida olhada nos dados
  30. 30. Chegou a hora de treinar o modelo ?
  31. 31. Como avaliar o modelo?
  32. 32. Como avaliar o modelo?
  33. 33. Hora de modelar
  34. 34. Seleção de variáveis ❖ Este processo consiste em selecionar apenas as variáveis mais importantes para o modelo, ou seja, os melhores preditores. ❖ Para isso, começamos calculando a importância de cada variável:
  35. 35. Seleção de variáveis ❖ Este processo consiste em selecionar apenas as variáveis mais importantes para o modelo, ou seja, os melhores preditores. ❖ Para isso, começamos calculando a importância de cada variável:
  36. 36. Seleção de variáveis ❖ Este processo consiste em selecionar apenas as variáveis mais importantes para o modelo, ou seja, os melhores preditores. ❖ Para isso, começamos calculando a importância de cada variável:
  37. 37. Seleção de variáveis ❖ Este processo consiste em selecionar apenas as variáveis mais importantes para o modelo, ou seja, os melhores preditores. ❖ Para isso, começamos calculando a importância de cada variável: ❖ As 3 primeiras variáveis são muito mais importantes para o modelo do que as últimas 3 ❖ Vamos analisar qual o comportamento do modelo ao utilizarmos apenas as 3 variáveis mais importantes
  38. 38. Seleção de variáveis
  39. 39. Seleção de variáveis
  40. 40. Acompanhamento dos testes Random Forest Todas variáveis padronizadas Apenas as 3 variáveis mais importantes Apenas as 3 variáveis menos importantes MAE 0,031 0,025 0,144
  41. 41. ALGUMA DÚVIDA?
  42. 42. INTERVALO - 10 min
  43. 43. Um pouco mais de teoria …
  44. 44. PCA: Principal Component Analysis ❖ PCA é uma técnica de redução de dimensionalidade que geralmente transforma uma grande quantidade de variáveis em um conjunto menor, que ainda contém grande parte da informação do conjunto original ❖ O custo de reduzir o número de variáveis normalmente é pago em acuracidade, mas o ponto interessante é que essa perda de acuracidade vem acompanhada de ganho de simplicidade. Tudo isso por que datasets menores são: ➢ Mais fáceis de explorar ➢ Mais simples de serem visualizados ➢ Mais rápidos para modelos de M.L. ❖ Em resumo, a ideia do PCA é: reduza o número de variáveis, enquanto preserva o máximo de informação possível ❖ Os componentes principais não são interpretáveis
  45. 45. PCA: Etapas do Processo 1. Padronize o intervalo das variáveis input 2. Calcule a matriz de covariância para identificar correlações 3. Calcule os autovalores e autovetores da matriz de covariância para identificar os componentes principais 4. Crie um vetor de features para decidir quais componentes principais manter 5. Transforme os dados utilizando os eixos dos componentes principais
  46. 46. PCA 1. Padronize o intervalo das variáveis input
  47. 47. PCA 1. Padronize o intervalo das variáveis input
  48. 48. PCA 1. Padronize o intervalo das variáveis input
  49. 49. PCA 1. Padronize o intervalo das variáveis input
  50. 50. PCA 1. Padronize o intervalo das variáveis input
  51. 51. PCA 1. Padronize o intervalo das variáveis input
  52. 52. PCA 2. Calcule a Matriz de Covariância para identificar correlações
  53. 53. PCA 2. Calcule a Matriz de Covariância para identificar correlações
  54. 54. PCA 2. Calcule a Matriz de Covariância para identificar correlações
  55. 55. PCA 2. Calcule a Matriz de Covariância para identificar correlações
  56. 56. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância Componentes Principais ❖ São novas variáveis que são construídas como combinações lineares ou misturas das variáveis iniciais ❖ X variáveis originais geram os mesmos X componentes principais ❖ São não-correlacionadas ❖ Grande parte da informação das variáveis originais está concentrada nos primeiros componentes ❖ Em seguida ele tenta adicionar o máximo de informação restante possível na segunda componente e assim até o final das X variáveis ❖ Os componentes principais não são interpretáveis
  57. 57. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância Gráfico de Componentes Principais Componentes Principais Porcentagem de Variância Explicada Variância dos Componentes Principais ❖ Organizar os Componentes Principais desta forma permite reduzir a dimensionalidade, sem perder muita informação, descartando os componentes que têm pouca informação. ❖ Os componentes que não forem descartados serão as novas variáveis
  58. 58. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância ❖ Geometricamente falando, Componentes Principais representam a direção dos dados que explicam a maior quantidade de variância possível, ou seja, a maior quantidade de informação ❖ A relação entre variância e informação se dá pelo fato de que quanto maior a variância contida em uma linha, maior a dispersão dos pontos e quanto maior a dispersão em uma linha, maior a quantidade de informação ❖ Autovetor é a linha que representa o Componente Principal ❖ Autovalor é a quantidade de informação que a linha contém
  59. 59. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância
  60. 60. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância
  61. 61. PCA 3. Calcule os autovalores e autovetores da Matriz de Covariância
  62. 62. PCA 4. Decidir quais Componentes Principais usar
  63. 63. PCA 4. Decidir quais Componentes Principais usar
  64. 64. PCA 4. Decidir quais Componentes Principais usar
  65. 65. PCA 4. Decidir quais Componentes Principais usar
  66. 66. PCA 4. Decidir quais Componentes Principais usar Explicam 98% da Variância
  67. 67. PCA 5. Transformação dos Dados Vamos relembrar multiplicação de matrizes
  68. 68. PCA 5. Transformação dos Dados Vamos relembrar multiplicação de matrizes ❖ A quantidade de colunas da primeira matriz precisa ser igual a quantidade de linhas da segunda matriz
  69. 69. PCA 5. Transformação dos Dados Vamos relembrar multiplicação de matrizes ❖ A quantidade de colunas da primeira matriz precisa ser igual a quantidade de linhas da segunda matriz
  70. 70. PCA 5. Transformação dos Dados
  71. 71. PCA 5. Transformação dos Dados
  72. 72. PCA 5. Transformação dos Dados
  73. 73. PCA 5. Transformação dos Dados
  74. 74. PCA 5. Transformação dos Dados
  75. 75. PCA 5. Transformação dos Dados
  76. 76. PCA 5. Transformação dos Dados Não existe AB
  77. 77. PCA 5. Transformação dos Dados
  78. 78. PCA 5. Transformação dos Dados
  79. 79. PCA 5. Transformação dos Dados Existe AB
  80. 80. PCA 5. Transformação dos Dados Existe AB
  81. 81. PCA 5. Transformação dos Dados Existe AB
  82. 82. Vamos voltar para a floresta?
  83. 83. Random Forest com PCA
  84. 84. Random Forest com PCA
  85. 85. Random Forest com PCA
  86. 86. Random Forest com PCA
  87. 87. Acompanhamento dos testes Random Forest Todas variáveis padronizadas Apenas as 3 variáveis mais importantes Apenas as 3 variáveis menos importantes Com variáveis do PCA MAE 0,031 0,025 0,144 0,034
  88. 88. PCA na vida real
  89. 89. PCA na vida real
  90. 90. PCA na vida real
  91. 91. PCA na vida real
  92. 92. t-SNE
  93. 93. t-sne: t-distributed stochastic neighbor embedding ❖ Técnica não supervisionada e não-linear ❖ Utilizada principalmente para exploração e visualização de dados de alta dimensionalidade ❖ t-sne traz uma aproximação ou intuição de como os dados estão organizados em um espaço de alta dimensão ❖ Com ele é possível ganhar tempo, pois é preciso gerar muito menos gráficos para entender os dados ❖ t-sne encontra padrões nos dados através da identificação de clusters baseados na similaridade dos dados. ❖ Mesmo parecendo um algoritmo de clustering, ele é um de redução de dimensionalidade, pois mapeia os dados para um espaço com menor dimensionalidade. ❖ Variáveis input não são identificáveis.
  94. 94. Visualização Digits Dataset - 66 dimensões
  95. 95. Visualização Digits Dataset - 66 dimensões
  96. 96. Visualização Digits Dataset - 66 dimensões
  97. 97. Visualização Mnist Dataset- 786 dimensões
  98. 98. Visualização Mnist Dataset- 786 dimensões
  99. 99. Visualização Mnist Dataset- 786 dimensões
  100. 100. Tentar usar t-sne na Random Forest?
  101. 101. t-SNE
  102. 102. t-SNE
  103. 103. t-SNE
  104. 104. t-SNE DATA LEAKAGE
  105. 105. t-SNE
  106. 106. t-SNE
  107. 107. Acompanhamento dos testes Random Forest Todas variáveis padronizadas Apenas as 3 variáveis mais importantes Apenas as 3 variáveis menos importantes Com variáveis do PCA Com Variáveis t-SNE MAE 0,031 0,025 0,144 0,034 0,155
  108. 108. DÚVIDAS FINAIS
  109. 109. Como usar o t-SNE em Produção ❖ Treinar a t-SNE até chegar em uma situação onde os grupos estejam bem separados ❖ Utilizar os valores das variáveis Dimension 1 e Dimension 2 como target de duas regressões que utilizem as features originais do dataset: ➢ Regressão1 -> Target Dimension 1 ➢ Regressão2 -> Target Dimension 2 ❖ A combinação das respostas das regressões implicará na posição do gráfico ao lado, que poderá ser utilizado para classificar o dígito
  110. 110. COMO FOI?
  111. 111. E ATÉ A PRÓXIMA! BOA NOITE

×