Vous êtes sur la page 1sur 13

Questão 1

Ainda não respondida


Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Qual o nome do atributo classe na base breast-cancer-
wisconsin?
Escolha uma:
a. Diagnosis
b. patientid
c. class
d. malignant
e. outcome
Questão 2
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Após analisar os dados que atributo há algum atributo que deve
ser obrigatoriamente retirado do treinamento?
Escolha uma:
a. outcome, pois é o atributo classe
b. patientid
c. outcome, pois é um factor
d. area error ou area mean, pois estão correlacionados
e. compactness_worst
Questão 3
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Qual a quantidade de registros classificados como benigno e
maligno?
Escolha uma:
a. 151 e 47
b. 211 e 357
c. 355 e 213
d. 47 e 151
e. 357 e 211
Questão 4
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Ao aplicar o aprendizado da SVM quantos vetores de suporte
são obtidos com o Kernel "radial"?
Escolha uma:
a. 182
b. 357 e 211
c. 2
d. 19
e. 6
Questão 5
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Ao detectar as anomalias à partir da SVM, do total de casos
anomalos (malignos), quantos casos
são identificados corretamente como anomalia e quantos não foram identificados com o Kernel
Radial?
Escolha uma:
a. 2 casos de anomalia detectados e 209 não detectados
b. 209 casos de anomalia detectados e 2 não detectados
c. 109 casos de anomalia detectados e 102 não detectados
d. 207 casos de anomalia detectados e 4 não detectados
e. 208 casos de anomalia detectados e 3 não detectados
Questão 6
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Ao detectar as anomalias à partir da SVM que Kernels
apresentaram o melhor e o pior resultado na detecção das anomalias?
Escolha uma:
a. Sigmoid 98% e Linear 20%
b. Radial 98% e Polinomial (com grau 7) 18%
c. Radial e Sigmoid com 99% e Linear 20%
d. Radial 99% e Linear 20%
e. Sigmoid 98% e Polinomial (com grau 3) 18%
Questão 7
Ainda não respondida
Vale 1,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Considerando a segunda base de breast-cancer-wisconsin
(wpbc) proposta para a avaliação de anomalias qual a quantidade de registros classificados
como benigno e maligno?
Escolha uma:
a. 355 e 213
b. 357 e 211
c. 211 e 357
d. 151 e 47
e. 47 e 151
Questão 8
Ainda não respondida
Vale 1,00 ponto(s).
Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) Considerando a segunda base de breast-cancer-wisconsin
(wpbc) proposta para a avaliação de anomalias quantos casos
são identificados como anomalia?
Escolha uma:
So encontro resultados usando o

a. 47
b. 40, 85% das anomalias
c. 30
d. 46, 97% das anomalias
e. 198
Questão 9
Ainda não respondida
Vale 2,00 ponto(s).

Marcar questão
Texto da questão
(SVM breast-cancer-wisconsin) (2,0) Considerando os casos identificados como anomalia pela
SVM e sabendo que existem casos benignos e malignos na base,
qual a sua conclusão? (não se precipite, inspecione os dados antes de concluir)
Escolha uma:
a. Deve-se ajustar os parâmetros da SVM para a obtenção de melhores resultados, por exemplo,
empregando kernels polinomiais de grau maior
b. Todos os casos foram classificados como anomalia, o que está correto, pois os dados diferem dos
dados anteriores e são, portanto, apontados como anômalos
c. Tratando-se de dados de baixa dimensionalidade a eficiência da SVM é baixa
d. Há um erro nos dados no que se refere a classe (atributo outcome)
e. O modelo não pode ser aplicado a quaisquer dados que não estivessem previamente na base de
treinamento
# instale e importe as bibliotecas necessðrias
#
library(e1071)
library(ggplot2)

#
# Mantenha o seed para correta resposta dos exercðcios
#
set.seed(1987)

#
# read breast-cancer-wisconsin
#
wdbc = read.csv(
"https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-
wisconsin/wdbc.data",
col.names=c(
"patientid",
"outcome",
"radius_mean",
"texture_mean",
"perimeter_mean",
"area_mean",
"smoothness_mean",
"compactness_mean",
"concavity_mean",
"concavepoints_mean",
"symmetry_mean",
"fractaldimension_mean",
"radius_error",
"texture_error",
"perimeter_error",
"area_error",
"smoothness_error",
"compactness_error",
"concavity_error",
"concavepoints_error",
"symmetry_error",
"fractaldimension_error",
"radius_worst",
"texture_worst",
"perimeter_worst",
"area_worst",
"smoothness_worst",
"compactness_worst",
"concavity_worst",
"concavepoints_worst",
"symmetry_worst",
"fractaldimension_worst"))

#
# Explore os dados antes de iniciar e responda as questðes 1-3
#

#
# Q1 Qual o nome do atributo classe?
# patientid
head(wdbc)
summary(wdbc)
any(is.na(wdbc))

#
# Q2 Que atributo deve ser eliminado do aprendizado?
#patientid
# Crie o conjunto de dados eliminando esse atributo
#
mybreast = wdbc[,!(names(wdbc) %in% c("patientid"))]

#
# Q3 Quais as quantidades de registros Benignos e Malignos?
# B:357 M:211
table(mybreast$outcome)

#
# Anomaly detection
#
#----------------------------------------------------------------------

#
# Separe os dados normais, Benignos dos Malignos
#
mybreast_B = mybreast[mybreast$outcome == "B",]
mybreast_M = mybreast[mybreast$outcome == "M",]

# Check que o nr de linhas bate com os valores B / M


#
nrow(mybreast_B)
nrow(mybreast_M)

#
# Passo 1. Treine a SVM informando os dados normais
#
# a. Informe a formula e o data frame dos dados normais
# b. O type="one-classification" ð para fazer o aprendizado dos dados normais (um sð tipo)
#
# c. Consulte o help(svm), experimente diferentes tipos de kernel e degree, e responda as
# questoes de 4 a 6
# "linear", "polynomial", "radial", "sigmoid"

help(svm)
svm = svm(outcome ~ ., data = mybreast_B,
scale = TRUE, kernel ="radial",
type="one-classification")

#
# Explore o objeto SVM criado

head(svm)
summary(svm)
any(is.na(svm))

# Q4. Quantos vetores de suporte sðo obtidos pelo Kernel="radial"?


#Number of Support Vectors: 182

print(svm)
summary(svm)

#
# Passo 2. Avalie novos dados para a detecððo de anomalias
#
# a. Informe os casos anormais (malignos) para a prediððo
#

teste001 <- predict(svm, mybreast_M)


table(teste001)
# Q5. Do total de casos anomalos (malignos) quantos sðo identificados
# corretamente como anomalia e quantos nðo foram identificados
# para um Kernel Radial?
#
# Q6. Que Kernels apresentaram melhores resultados na detecððo de
# das anomalias?
#

predict_test = predict(svm, mybreast_M)


table(predict_test)
# radial Anomaly Detected (FALSE): 99.05213 %>
# linear Anomaly Detected (FALSE): 20.37915 %
# polynomial Anomaly Detected (FALSE): 18.95735 %>
# sigmoid Anomaly Detected (FALSE): 82.46445 %>

cat('Anomaly Detected (FALSE):', table(predict_test)[1]/sum(table(predict_test))*100, ' %')

#
# Ver nota 1 sobre os resultados!
#

#
#------------------------------------------------------------------------------------------------
# instale e importe as bibliotecas necessðrias
#
library(e1071)
library(ggplot2)

#
# Mantenha o seed para correta resposta dos exercðcios
#

# Aplique agora a detecððo de anomalias a um conjunto de dados diferente wpbc


####################
set.seed(1987)
wpbc = read.csv(
"https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-
wisconsin/wpbc.data", col.names=c(
"patientid",
"outcome",
"radius_mean",
"texture_mean",
"perimeter_mean",
"area_mean",
"smoothness_mean",
"compactness_mean",
"concavity_mean",
"concavepoints_mean",
"symmetry_mean",
"fractaldimension_mean",
"radius_error",
"texture_error",
"perimeter_error",
"area_error",
"smoothness_error",
"compactness_error",
"concavity_error",
"concavepoints_error",
"symmetry_error",
"fractaldimension_error",
"radius_worst",
"texture_worst",
"perimeter_worst",
"area_worst",
"smoothness_worst",
"compactness_worst",
"concavity_worst",
"concavepoints_worst",
"symmetry_worst",
"fractaldimension_worst"))
#
# Check wpbc tem os mesmos atributos de wdbc, com 198 linhas
#
head(wpbc)
summary(wpbc)
any(is.na(wpbc))

nrow(wpbc)

#
# Crie o conjunto a ser testado
#
mybreast_test = wpbc[,!(names(wpbc) %in% c("patientid"))]

table(mybreast_test$outcome)

mybreast_N = mybreast_test[mybreast_test$outcome == "N",]


mybreast_R = mybreast_test[mybreast_test$outcome == "R",]

nrow(mybreast_N)
nrow(mybreast_R)
# "linear 68.08511 ", "polynomial 78.7234", "radial 51.06383", "sigmoid 63.82979"
#para achar o resultado tive que retirar o kernel
svm = svm(outcome ~ ., data = mybreast_N,
scale = TRUE, kernel ="polynomial",
type="one-classification"
)
#
# Q7 Quais as quantidades de registros Benignos e Malignos nessa nova base de testes?
#N R
#151 47
#

head(svm)
summary(svm)
any(is.na(svm))

table(mybreast_test$outcome)

#
# Anomaly detection
#
#----------------------------------------------------------------------
teste001 <- predict(svm, mybreast_R)
table(teste001)

cat('Anomaly Detected (FALSE):', table(teste001)[1]/sum(table(teste001))*100, ' %')

#
# Q8 Quantos registros foram detectados como anomalia?
#FALSE TRUE
#30 17

#
# Q9 (2 pontos) Qual a sua conclusðo sobre a detecððo de anomalias neste novo conjunto de
# dados? (dica: compare dos dados anteriores e os atuais)
#

Vous aimerez peut-être aussi