Skip to content

Commit

Permalink
atualizacao da referencia nos graficos do pca e nao supervisionado
Browse files Browse the repository at this point in the history
  • Loading branch information
SammyMar committed Aug 24, 2023
1 parent 0bf1d5f commit d518cdc
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 228 deletions.
4 changes: 2 additions & 2 deletions PCA.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ A escolha do número ideal de componentes principais é uma etapa crucial ao apl
- *Variância explicada*
Plotar a porcentagem de variância explicada de cada componente individual e a porcentagem de variância total capturada por todos os componentes principais. Este é o método mais avançado e eficaz que pode ser usado para selecionar o melhor número de componentes principais para o conjunto de dados. Neste método, criamos o seguinte tipo de gráfico:
Plotar a porcentagem de variância explicada de cada componente individual e a porcentagem de variância total capturada por todos os componentes principais. Este é o método mais avançado e eficaz que pode ser usado para selecionar o melhor número de componentes principais para o conjunto de dados. Neste método, criamos o seguinte tipo de gráfico apresentado na @fig-pca1.
```{r eval = FALSE}
#Padronizacao dos dados e criacao do modelo PCA
Expand All @@ -121,7 +121,7 @@ factoextra::fviz_eig(pca_dados,
```
![](figuras_naosupervisionado/var_explicada.png){fig-align="centering" fig-alt="Screeplot para seleção de número de clusters"}
![Screeplot para seleção de número de clusters](figuras_naosupervisionado/var_explicada.png){#fig-pca1}
O número de barras é igual ao número de variáveis no conjunto de dados original. Neste gráfico, cada barra mostra a porcentagem de variância explicada de cada componente individual. Ao observar esse gráfico, podemos decidir quantas componentes devem ser mantidas com base em algum critério como porcentagem mínima que deseja-se manter, exemplo 80% ou 90%, mantendo por exemplo 8 ou 7 componentes. Ou ainda podemos nos basear na linha vermelha usando o método do cotovelo aplicado em aprendizado não supervisionado.
Expand Down
7 changes: 4 additions & 3 deletions docs/PCA.html
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ <h2 data-number="10.3" class="anchored" data-anchor-id="número-de-componentes-p
<ul>
<li><em>Variância explicada</em></li>
</ul>
<p>Plotar a porcentagem de variância explicada de cada componente individual e a porcentagem de variância total capturada por todos os componentes principais. Este é o método mais avançado e eficaz que pode ser usado para selecionar o melhor número de componentes principais para o conjunto de dados. Neste método, criamos o seguinte tipo de gráfico:</p>
<p>Plotar a porcentagem de variância explicada de cada componente individual e a porcentagem de variância total capturada por todos os componentes principais. Este é o método mais avançado e eficaz que pode ser usado para selecionar o melhor número de componentes principais para o conjunto de dados. Neste método, criamos o seguinte tipo de gráfico apresentado na <a href="#fig-pca1">Figura&nbsp;<span>10.1</span></a>.</p>
<div class="cell">
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="co">#Padronizacao dos dados e criacao do modelo PCA</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>pca_dados <span class="ot">&lt;-</span> <span class="fu">princomp</span>(<span class="fu">scale</span>(dados <span class="sc">|&gt;</span> dplyr<span class="sc">::</span><span class="fu">select_if</span>(is.numeric)))</span>
Expand All @@ -387,9 +387,10 @@ <h2 data-number="10.3" class="anchored" data-anchor-id="número-de-componentes-p
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="at">linecolor =</span> <span class="st">"Red"</span>, <span class="at">ylim =</span> <span class="fu">c</span>(<span class="dv">0</span>, <span class="dv">50</span>)) <span class="sc">+</span></span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> ggplot2<span class="sc">::</span><span class="fu">labs</span>(<span class="at">x =</span> <span class="st">"Dimensões"</span>, <span class="at">y =</span> <span class="st">"Porcentagem de Variância Explicada"</span>)</span></code><button title="Copiar para a área de transferência" class="code-copy-button"><i class="bi"></i></button></pre></div>
</div>
<div class="quarto-figure quarto-figure-center">
<div id="fig-pca1" class="quarto-figure quarto-figure-center anchored">
<figure class="figure">
<p><img src="figuras_naosupervisionado/var_explicada.png" class="img-fluid figure-img" alt="Screeplot para seleção de número de clusters"></p>
<p><img src="figuras_naosupervisionado/var_explicada.png" class="img-fluid figure-img"></p>
<figcaption class="figure-caption">Figura&nbsp;10.1: Screeplot para seleção de número de clusters</figcaption>
</figure>
</div>
<p>O número de barras é igual ao número de variáveis no conjunto de dados original. Neste gráfico, cada barra mostra a porcentagem de variância explicada de cada componente individual. Ao observar esse gráfico, podemos decidir quantas componentes devem ser mantidas com base em algum critério como porcentagem mínima que deseja-se manter, exemplo 80% ou 90%, mantendo por exemplo 8 ou 7 componentes. Ou ainda podemos nos basear na linha vermelha usando o método do cotovelo aplicado em aprendizado não supervisionado.</p>
Expand Down
6 changes: 3 additions & 3 deletions docs/introducao_algebra.html

Large diffs are not rendered by default.

21 changes: 12 additions & 9 deletions docs/naosupervisionado.html
Original file line number Diff line number Diff line change
Expand Up @@ -359,10 +359,11 @@ <h2 data-number="9.1" class="anchored" data-anchor-id="análise-de-agrupamentos"
<section id="métodos-por-particionamento" class="level3" data-number="9.1.1">
<h3 data-number="9.1.1" class="anchored" data-anchor-id="métodos-por-particionamento"><span class="header-section-number">9.1.1</span> Métodos por Particionamento</h3>
<p>Os métodos por particionamento são comumente utilizados para agrupar dados, onde cada partição representa um cluster. Esses métodos são baseados em distância e envolvem a realocação iterativa das observações entre os clusters para obter um particionamento otimizado.</p>
<p>A escolha do número de clusters é um aspecto importante, pois influencia diretamente a qualidade do agrupamento. Uma abordagem comum é o método do cotovelo, que considera a relação entre a variância total intraclusters e o número de grupos criados. O método do cotovelo considera que aumentar o número de clusters reduz a variância, mas em algum ponto, não há melhora significativa na granularidade do agrupamento. Esse ponto ótimo, que indica o número adequado de clusters, é identificado no gráfico por uma curva tracejada.</p>
<div class="quarto-figure quarto-figure-center">
<p>A escolha do número de clusters é um aspecto importante, pois influencia diretamente a qualidade do agrupamento. Uma abordagem comum é o método do cotovelo, que considera a relação entre a variância total intraclusters e o número de grupos criados. O método do cotovelo considera que aumentar o número de clusters reduz a variância, mas em algum ponto, não há melhora significativa na granularidade do agrupamento. Esse ponto ótimo, que indica o número adequado de clusters, é identificado no gráfico por uma curva tracejada (veja <a href="#fig-screeplot">Figura&nbsp;<span>9.1</span></a>).</p>
<div id="fig-screeplot" class="quarto-figure quarto-figure-center anchored">
<figure class="figure">
<p><img src="figuras_naosupervisionado/cotovelo.png" class="img-fluid figure-img" alt="Screeplot para seleção de número de clusters"></p>
<p><img src="figuras_naosupervisionado/cotovelo.png" class="img-fluid figure-img"></p>
<figcaption class="figure-caption">Figura&nbsp;9.1: Screeplot para seleção de número de clusters</figcaption>
</figure>
</div>
<p>A variância total intraclusters é calculada utilizando as distâncias euclidianas quadráticas entre as observações e o centróide do respectivo grupo. O centróide <span class="math inline">\(c_l\)</span> de um grupo <span class="math inline">\(C_l\)</span> é obtido através da média das observações atribuídas a esse cluster, utilizando a fórmula:</p>
Expand Down Expand Up @@ -521,10 +522,11 @@ <h3 data-number="9.1.2" class="anchored" data-anchor-id="métodos-hierárquicos"
<ol start="5" type="1">
<li>Repetem-se os passos 2 a 4 até que cada observação esteja em um grupo separado.</li>
</ol>
<p>No agrupamento hierárquico, a visualização dos clusters é feita por meio de um dendrograma, um gráfico ramificado que mostra as junções e divisões dos clusters. A altura do ramo no primeiro nó do dendrograma representa a dissimilaridade entre os grupos divididos. Para determinar o número de grupos a partir do dendrograma, busca-se uma grande diferença de altura (dissimilaridade) ao adicionar um cluster aos dados. Uma característica dos métodos hierárquicos é que as decisões de agrupamento ou divisão não são desfeitas, ou seja, não há troca de observações entre os clusters. Decisões de união ou divisão mal feitas podem resultar em grupos de baixa qualidade. Além disso, esses métodos não são bem dimensionados, pois cada decisão de mesclagem ou divisão requer a avaliação de muitos objetos ou clusters. Pelo exemplo abaixo, uma possível resposta de número adequado de clusters seria de dois ou três grupos.</p>
<div class="quarto-figure quarto-figure-center">
<p>No agrupamento hierárquico, a visualização dos clusters é feita por meio de um dendrograma, um gráfico ramificado que mostra as junções e divisões dos clusters. A altura do ramo no primeiro nó do dendrograma representa a dissimilaridade entre os grupos divididos. Para determinar o número de grupos a partir do dendrograma, busca-se uma grande diferença de altura (dissimilaridade) ao adicionar um cluster aos dados. Uma característica dos métodos hierárquicos é que as decisões de agrupamento ou divisão não são desfeitas, ou seja, não há troca de observações entre os clusters. Decisões de união ou divisão mal feitas podem resultar em grupos de baixa qualidade. Além disso, esses métodos não são bem dimensionados, pois cada decisão de mesclagem ou divisão requer a avaliação de muitos objetos ou clusters. Pelo exemplo abaixo na <a href="#fig-dendrograma">Figura&nbsp;<span>9.2</span></a>, uma possível resposta de número adequado de clusters seria de dois ou três grupos.</p>
<div id="fig-dendrograma" class="quarto-figure quarto-figure-center anchored">
<figure class="figure">
<p><img src="figuras_naosupervisionado/dendograma.png" class="img-fluid figure-img" alt="Exemplo de Dendrograma"></p>
<p><img src="figuras_naosupervisionado/dendograma.png" class="img-fluid figure-img"></p>
<figcaption class="figure-caption">Figura&nbsp;9.2: Exemplo de Dendrograma</figcaption>
</figure>
</div>
<p>Os agrupamentos hierárquicos podem ser obtidos de maneira rapida com o apoio computacional, onde inicialmente, com uso das funções <code>hclust</code> e <code>cluster::diana</code>, é obtido um objeto da classe “hclust” e da clase “diana” respectivamente, esses objetos contém informações sobre o agrupamento hierárquico realizado, incluindo a estrutura do dendrograma, as distâncias entre os objetos e outras propriedades relacionadas. Seguido pela seleção, com base no dendrograma, do número <em>K</em> ideal de clusters (Não necessariamente só um <em>K</em>), e o “corte” da árvore aglomerativa no valor ideal identificado. É apresentado abaixo para todos os métodos citados a aplicação para o <em>R</em>, supondo a distância utilizada como a euclidiana calculada no início do capítulo.</p>
Expand Down Expand Up @@ -593,10 +595,11 @@ <h3 data-number="9.1.2" class="anchored" data-anchor-id="métodos-hierárquicos"
</section>
<section id="dbscan" class="level3" data-number="9.1.3">
<h3 data-number="9.1.3" class="anchored" data-anchor-id="dbscan"><span class="header-section-number">9.1.3</span> DBSCAN</h3>
<p>O método DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento que foi proposto para encontrar clusters com formas arbitrárias, ou seja, clusters que não necessariamente possuem uma forma esférica ou convexa. Ele busca identificar as regiões mais densas do espaço vetorial separadas por regiões com menos objetos, como é possível ver na figura abaixo sua eficiência em relação a outros métodos.</p>
<div class="quarto-figure quarto-figure-center">
<p>O método DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento que foi proposto para encontrar clusters com formas arbitrárias, ou seja, clusters que não necessariamente possuem uma forma esférica ou convexa. Ele busca identificar as regiões mais densas do espaço vetorial separadas por regiões com menos objetos, como é possível ver na <a href="#fig-dbscan">Figura&nbsp;<span>9.3</span></a> sua eficiência em relação a outros métodos.</p>
<div id="fig-dbscan" class="quarto-figure quarto-figure-center anchored">
<figure class="figure">
<p><img src="figuras_naosupervisionado/dbscan.png" class="img-fluid figure-img" alt="Aplicação DBSCAN, Fonte: Boyke et al. (2021)"></p>
<p><img src="figuras_naosupervisionado/dbscan.png" class="img-fluid figure-img"></p>
<figcaption class="figure-caption">Figura&nbsp;9.3: Aplicação DBSCAN, Fonte: Boyke et al.&nbsp;(2021)</figcaption>
</figure>
</div>
<p>A ideia geral do algoritmo DBSCAN é identificar os clusters de forma que a densidade de pontos ao redor de cada ponto de um grupo seja maior que um limite estabelecido. Ele utiliza dois parâmetros principais: <span class="math inline">\(\epsilon\)</span> e MinPts, para entendimento do agrupamento DBSCAN observe a definição dos seguintes termos:</p>
Expand Down
207 changes: 2 additions & 205 deletions docs/search.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions naosupervisionado.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ Cada uma dessas abordagens possui suas próprias características, vantagens e l

Os métodos por particionamento são comumente utilizados para agrupar dados, onde cada partição representa um cluster. Esses métodos são baseados em distância e envolvem a realocação iterativa das observações entre os clusters para obter um particionamento otimizado.

A escolha do número de clusters é um aspecto importante, pois influencia diretamente a qualidade do agrupamento. Uma abordagem comum é o método do cotovelo, que considera a relação entre a variância total intraclusters e o número de grupos criados. O método do cotovelo considera que aumentar o número de clusters reduz a variância, mas em algum ponto, não há melhora significativa na granularidade do agrupamento. Esse ponto ótimo, que indica o número adequado de clusters, é identificado no gráfico por uma curva tracejada.
A escolha do número de clusters é um aspecto importante, pois influencia diretamente a qualidade do agrupamento. Uma abordagem comum é o método do cotovelo, que considera a relação entre a variância total intraclusters e o número de grupos criados. O método do cotovelo considera que aumentar o número de clusters reduz a variância, mas em algum ponto, não há melhora significativa na granularidade do agrupamento. Esse ponto ótimo, que indica o número adequado de clusters, é identificado no gráfico por uma curva tracejada (veja @fig-screeplot).

![](figuras_naosupervisionado/cotovelo.png){fig-align="centering" fig-alt="Screeplot para seleção de número de clusters"}
![Screeplot para seleção de número de clusters](figuras_naosupervisionado/cotovelo.png){ #fig-screeplot}

A variância total intraclusters é calculada utilizando as distâncias euclidianas quadráticas entre as observações e o centróide do respectivo grupo. O centróide $c_l$ de um grupo $C_l$ é obtido através da média das observações atribuídas a esse cluster, utilizando a fórmula:

Expand Down Expand Up @@ -294,9 +294,9 @@ Já na abordagem divisiva, tomando o algoritmo DIANA (Divisive Analysis), inicia

5. Repetem-se os passos 2 a 4 até que cada observação esteja em um grupo separado.

No agrupamento hierárquico, a visualização dos clusters é feita por meio de um dendrograma, um gráfico ramificado que mostra as junções e divisões dos clusters. A altura do ramo no primeiro nó do dendrograma representa a dissimilaridade entre os grupos divididos. Para determinar o número de grupos a partir do dendrograma, busca-se uma grande diferença de altura (dissimilaridade) ao adicionar um cluster aos dados. Uma característica dos métodos hierárquicos é que as decisões de agrupamento ou divisão não são desfeitas, ou seja, não há troca de observações entre os clusters. Decisões de união ou divisão mal feitas podem resultar em grupos de baixa qualidade. Além disso, esses métodos não são bem dimensionados, pois cada decisão de mesclagem ou divisão requer a avaliação de muitos objetos ou clusters. Pelo exemplo abaixo, uma possível resposta de número adequado de clusters seria de dois ou três grupos.
No agrupamento hierárquico, a visualização dos clusters é feita por meio de um dendrograma, um gráfico ramificado que mostra as junções e divisões dos clusters. A altura do ramo no primeiro nó do dendrograma representa a dissimilaridade entre os grupos divididos. Para determinar o número de grupos a partir do dendrograma, busca-se uma grande diferença de altura (dissimilaridade) ao adicionar um cluster aos dados. Uma característica dos métodos hierárquicos é que as decisões de agrupamento ou divisão não são desfeitas, ou seja, não há troca de observações entre os clusters. Decisões de união ou divisão mal feitas podem resultar em grupos de baixa qualidade. Além disso, esses métodos não são bem dimensionados, pois cada decisão de mesclagem ou divisão requer a avaliação de muitos objetos ou clusters. Pelo exemplo abaixo na @fig-dendrograma, uma possível resposta de número adequado de clusters seria de dois ou três grupos.

![](figuras_naosupervisionado/dendograma.png){fig-align="centering" fig-alt="Exemplo de Dendrograma"}
![Exemplo de Dendrograma](figuras_naosupervisionado/dendograma.png){#fig-dendrograma}

Os agrupamentos hierárquicos podem ser obtidos de maneira rapida com o apoio computacional, onde inicialmente, com uso das funções `hclust` e `cluster::diana`, é obtido um objeto da classe "hclust" e da clase "diana" respectivamente, esses objetos contém informações sobre o agrupamento hierárquico realizado, incluindo a estrutura do dendrograma, as distâncias entre os objetos e outras propriedades relacionadas. Seguido pela seleção, com base no dendrograma, do número *K* ideal de clusters (Não necessariamente só um *K*), e o "corte" da árvore aglomerativa no valor ideal identificado. É apresentado abaixo para todos os métodos citados a aplicação para o *R*, supondo a distância utilizada como a euclidiana calculada no início do capítulo.

Expand Down Expand Up @@ -365,9 +365,9 @@ diana_res <- cutree(diana , k = 3:8)

### DBSCAN

O método DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento que foi proposto para encontrar clusters com formas arbitrárias, ou seja, clusters que não necessariamente possuem uma forma esférica ou convexa. Ele busca identificar as regiões mais densas do espaço vetorial separadas por regiões com menos objetos, como é possível ver na figura abaixo sua eficiência em relação a outros métodos.
O método DBSCAN (Density-Based Spatial Clustering of Applications with Noise) é um algoritmo de agrupamento que foi proposto para encontrar clusters com formas arbitrárias, ou seja, clusters que não necessariamente possuem uma forma esférica ou convexa. Ele busca identificar as regiões mais densas do espaço vetorial separadas por regiões com menos objetos, como é possível ver na @fig-dbscan sua eficiência em relação a outros métodos.

![](figuras_naosupervisionado/dbscan.png){fig-align="centering" fig-alt="Aplicação DBSCAN, Fonte: Boyke et al. (2021)"}
![Aplicação DBSCAN, Fonte: Boyke et al. (2021)](figuras_naosupervisionado/dbscan.png){#fig-dbscan}

A ideia geral do algoritmo DBSCAN é identificar os clusters de forma que a densidade de pontos ao redor de cada ponto de um grupo seja maior que um limite estabelecido. Ele utiliza dois parâmetros principais: $\epsilon$ e MinPts, para entendimento do agrupamento DBSCAN observe a definição dos seguintes termos:

Expand Down

0 comments on commit d518cdc

Please sign in to comment.