Exercícios 8

Aula 8

1) PCA

Para esse exercício, usaremos novamente dados das eleições municipais de 2000:

link <- "https://raw.githubusercontent.com/FLS-6497/datasets/main/aula7/eleicoes2000.csv"
dados <- readr::read_csv2(link) %>%
  select(-cod_mun_ibge, -nome_municipio) %>%
  mutate_if(is.character, as.factor)
import pandas as pd

link = 'https://raw.githubusercontent.com/FLS-6497/datasets/main/aula7/eleicoes2000.csv'
dados = pd.read_csv(link, sep=';', decimal=",").drop(['cod_mun_ibge', 'nome_municipio'], axis=1)

a) Criando uma pipeline

Com os dados, implemente uma pipeline de classificação que use PCA para reduzir o número de features nos dados. Seu objetivo será predizer qual partido governa dado município. Calcule alguma métrica de validação.

b) Testando diferentes pipelines

Partindo da pipeline anterior, crie diferentes pipelines alterando o número de dimensões no PCA para 2, 3, 4 e 5. Rode essas pipelines e compare seus resultados.

c) Alternativas

Checando a documentação do seu framework, implemente alguma alternativa ao PCA (exemplo: kernel PCA).

2) Clustering

Para esse exercício, usaremos uma nova base de dados com gastos reportados dos gabinetes de deputados e deputadas federais até agora, em 2022, separados por tipo de gasto:

link <- "https://raw.githubusercontent.com/FLS-6497/datasets/main/aula8/gabinetes22.csv"
dados <- readr::read_csv2(link)

dados2 <- dados %>%
  select_if(is.numeric)
import pandas as pd

link = 'https://raw.githubusercontent.com/FLS-6497/datasets/main/aula8/gabinetes22.csv'
dados = pd.read_csv(link, sep=';', decimal=",")
dados2 = dados.select_dtypes(['number'])

a) K-means

Use K-means para separar os e as parlamentares em 4 grupos. Adicione essa classificação na base de dados original e a explore para tentar compreender quais são esses grupos.

b) Alternativas

Use outro algoritmo de clustering e faça uma nova classificação dos e das parlamentares. Compare com a anterior para examinar as diferenças.