# Carregar o dataset iris
data(iris)
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
Explicação: o conjunto iris contém 150
observações de 3 espécies de Iris com 4 medidas: Sepal.Length,
Sepal.Width, Petal.Length, Petal.Width. A função head()
exibe as primeiras linhas.
# 1) Renomear colunas para português
iris_pt <- iris %>%
rename(
comprimento_sepala = Sepal.Length,
largura_sepala = Sepal.Width,
comprimento_petala = Petal.Length,
largura_petala = Petal.Width,
especie = Species
)
# 2) Criar nova variável: razão comprimento/largura da sépala
iris_pt <- iris_pt %>%
mutate(razao_sepala = comprimento_sepala / largura_sepala)
# 3) Filtrar: conservar apenas espécies setosa e versicolor
iris_filtro <- iris_pt %>%
filter(especie %in% c("setosa", "versicolor"))
# 4) Ordenar por razao_sepala decrescente
iris_ord <- iris_filtro %>%
arrange(desc(razao_sepala))
# 5) Resumo por espécie
resumo <- iris_pt %>%
group_by(especie) %>%
summarise(
n = n(),
media_comp_sep = mean(comprimento_sepala),
sd_comp_sep = sd(comprimento_sepala),
media_razao = mean(razao_sepala)
)
# Exibir resultados
head(iris_ord)
## comprimento_sepala largura_sepala comprimento_petala largura_petala
## 1 6.2 2.2 4.5 1.5
## 2 6.3 2.3 4.4 1.3
## 3 6.0 2.2 4.0 1.0
## 4 6.3 2.5 4.9 1.5
## 5 5.0 2.0 3.5 1.0
## 6 6.8 2.8 4.8 1.4
## especie razao_sepala
## 1 versicolor 2.818182
## 2 versicolor 2.739130
## 3 versicolor 2.727273
## 4 versicolor 2.520000
## 5 versicolor 2.500000
## 6 versicolor 2.428571
resumo
## # A tibble: 3 × 5
## especie n media_comp_sep sd_comp_sep media_razao
## <fct> <int> <dbl> <dbl> <dbl>
## 1 setosa 50 5.01 0.352 1.47
## 2 versicolor 50 5.94 0.516 2.16
## 3 virginica 50 6.59 0.636 2.23
Passos e Resultados:
razao_sepala: variável contínua que
captura proporção entre comprimento e largura da sépala; pode ajudar a
separar espécies.virginica foi
removida.arrange(desc(razao_sepala)) mostra
os indivíduos com maior proporção no topo — útil para ver casos
extremos.summarise() dá média e
desvio padrão do comprimento de sépala e da razão, informação útil para
comparação.Os objetos gerados (iris_pt, iris_filtro,
iris_ord, resumo) devem ser interpretados
conforme mostrado acima. Verifique os valores na tabela
resumo para compreender a dispersão entre espécies.
Visualização rápida:
# Histograma da razão por espécie
ggplot(iris_pt, aes(x = razao_sepala)) +
geom_histogram(bins = 30) +
labs(title = "Histograma da razão comprimento/largura da sépala",
x = "Razão (comprimento / largura)", y = "Frequência") +
theme_minimal()
Tabela interativa baseada no objeto iris_pt com
funcionalidades de busca, ordenação e paginação.
library(DT)
DT::datatable(iris_pt,
options = list(pageLength = 10, autoWidth = TRUE),
filter = 'top',
rownames = FALSE)
Observação: experimente a barra de busca, ordene por colunas, e altere a página para ver a paginação.
Cinco equações relevantes.
\[ \hat{\beta} = (X^T X)^{-1} X^T y \]
Significado: estimador de mínimos quadrados ordinários (OLS) para o vetor de coeficientes \(\beta\). Aqui, \(X\) é a matriz de design (incluindo intercepto) e \(y\) o vetor de respostas.
\[ \ell(\beta) = \sum_{i=1}^n \left[y_i \log p(x_i) + (1 - y_i) \log (1 - p(x_i))\right], \quad p(x_i) = \frac{1}{1 + e^{-x_i^T \beta}} \]
Significado: log-verossimilhança para modelo logístico; usada para estimar \(\beta\) via máxima verossimilhança.
\[ \hat{\beta}_{\text{ridge}} = (X^T X + \lambda I)^{-1} X^T y \]
Significado: estimador de ridge que adiciona termo de penalização \(\lambda\) para reduzir overfitting; \(I\) é a matriz identidade.
\[ \Sigma = V \Lambda V^T \]
Significado: matriz de covariância \(\Sigma\) fatorada em autovetores \(V\) e autovalores (diagonal) \(\Lambda\); base da Análise de Componentes Principais.
\[ D_{\mathrm{KL}}(P \| Q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx \]
Significado: mede quanto a distribuição \(Q\) diverge da distribuição de referência \(P\); usada em aprendizagem probabilística e otimização.
(IBM 2023)
(Maia 2021)
(Cao 2017) (Feng et al. 2020) (Simeone 2018)