classificação - nequimed/iqsc/usp
TRANSCRIPT
1
Classificação
Nível I: Simples classificação em categoria pré-definidas
Nível II: Nível I + deteção de “outliers”
Nível III: Nível II + predição de uma propriedade externa
Nível IV: Nível II + predição de mais de uma propriedade
2
Métodos
Similaridade/distância
Máquinas lineares de aprendizado
Método do vizinho mais próximo (KNN)
Similaridade química por analogia (SIMCA)
Métodos supervisionados.
Instrua-os com PCA
3
Desenvolvimento do modelo com base no banco de dados
Série de treinamento
Amostra representativa para a construção do modelo
Série de avaliação
Novas amostras usadas para testar o modelo (classes já definidas)
Série teste
Amostra verdadeiramente desconhecida
4
Pré-processamento dos dados
Matriz original de dados
EscalonadoPesos iguais para todas as variáveis
PCAPode ser usada para reduzir ruídos e
variáveis não significativas
5
Criação da série de avaliação
Sub-série da série de treinamento Porções escolhidas aleatoriamenteMembros escolhidos aleatoriamente
Validação “leave-one-out”; “leave-two-out”, “leave-many-out” (exclua um, dois ou vários membros/porções)Omita uma amostra da sérieConstrua o modelo Teste-o para a amostra omitidaRepita até que todas tenham sido testadas
6
Classificação simples por similaridade (Nível II)
Inalterada
Adulterada
95% de limite
de confidência
Vetores indicam
quais pesos devem
ser observados
12
KNNmétodo de classificação baseado
em similaridade
Atribuição de categorias para amostras desconhecidas com base em proximidade multivariada
Funciona bem para classificação do tipo discreta
K, número de vizinhos mais próximos sendo comparados
13
Distância entre classes
Conexão simplesMembro mais próximo da classe
Conexão completaMembro mais distante da classe
Conexão centróideCentro de agrupamento da classe
16
Classificação ideal
X2
X1
X1 e X2 não são
intercorrelacionados
Cov(X1,X2) = 0 para as
duas classes
18
SIMCA(Soft Independent Modeling of Class Analogy)
Classificação apropriada para:
Deteção de “outliers”
Estimativa da confidência da classificação
Determinação da associação potencial em mais do que uma classe
Método supervisionado: PCA
SIMCA tutorial no R
22
##SIMCA
## Build the robust SIMCA model. Use RSimca for a robust version
#Package 'rrcovHD'
data(iris)
dfRS = data.frame(iris) ##It is the DB with a categorical column
dim(dfRS) # Number observations
head(dfRS)
tail(dfRS)
library("rrcovHD")
rs <- RSimca(Species~., data=dfRS)
rs
summary(rs)
23
#Print the confusion matrix
cc <- RSimca(Species~., data=dfRS, k=c(1,2,3)) # k = all Species 1,2,3,...
cc
pr <- predict(cc, method=2)
tt <- rrcov::mtxconfusion(cc@grp, pr@classification, printit=TRUE)
plot(tt)
print(tt)
24
## SIMCA missclassification
predict(rs)
## generate a sample from the data set -
## this will be the "new" data to be predicted
smpl <- sample(1:nrow(dfRS), 105) #state how many rows to analyse, 70% of
original data
test <- dfRS[smpl, -5] # extract the test sample. Remove the last (grouping)
variable
grp <- dfRS[smpl, 5] # remember the grouping variable also
print(test)
25
## predict new data to get the miss whose value ca. 1 is great!
pr <- predict(rs, newdata=test)
pr@classification
ctab <- rrcov::mtxconfusion(grp, pr@classification)
ctab
acctab <- t(apply(ctab, 1, function(x) x/sum(x)))
dimnames(acctab) <- dimnames(ctab)
acctab
miss <- 1 - sum(diag(ctab))/sum(ctab)
miss