Escolar Documentos
Profissional Documentos
Cultura Documentos
Universidade do Minho
Mestrado Integrado em Engenharia Informática
Descoberta de Conhecimento
Ano Letivo de 2019/2020
Ficha 04
2
Q. 1.1
1. Para cada atributo encontre as seguintes informações. Alíneas: a, b, c.
sex Nominal 0 - - - -
cp Nominal 0 - - - -
fbs Nominal 0 - - - -
restecg Nominal 0 - - - -
exang Nominal 0 - - - -
slope Nominal 0 - - - -
thal Nominal 1 - - - -
num Nominal 0 - - - -
d)
Sim, nomeadamente nos atributos:
1. age -> 4 registos únicos (correspondentes a 1% dos registos)
2. trestbps -> 16 registos únicos (correspondentes a 5% dos registos)
3. chol -> 62 registos únicos (correspondentes a 20% dos registos)
4. thalach -> 28 registos únicos (correspondentes a 9% dos registos)
5. oldpeak -> 10 registos únicos (correspondentes a 3% dos registos)
3
e)
age -> à medida que a idade aumenta, verificamos um aumento na ocorrência de
doenças cardíacas, até aos 67.6 anos, idade a partir da qual, a percentagem de
ocorrências diminui.
sex -> existe uma maior percentagem de ocorrência de doenças cardíacas em homens
do que nas mulheres
cp -> nota-se uma maior percentagem de ocorrência de doenças cardíacas, cerca
trestbps -> excetuando um ou dois intervalos nos registos (94 a 102.83 e 164 a 182),
verifica-se cerca de 50% de ocorrência de doenças cardíacas em todos os intervalos
chol -> analogamente ao anterior, excetuando um ou dois intervalos, a ocorrência
permanece igual ao longo dos registos
fbs -> apesar de existirem muitos mais casos com o atributo f do que com o t, a
percentagem de ocorrência de doenças cardíacas
restecg -> verificamos uma ocorrência de doenças cardíacas semelhante nos 3 valores
thalach -> à medidia que o thalach aumenta, diminuiem as ocorrências de doenças
cardíacas, verificando-se uma proporcionalidade inversa
exang -> quando o valor do atributo é “no” verifica-se uma menor ocorrência de
doenças cardíacas enquanto que quando o valor é “yes” verifica-se uma grande
ocorrência de doenças cardíacas
oldpeak -> verifica-se um aumento de ocorrências de doenças cardíacas à medida que
o valor do atributo aumenta
slope -> quando o atributo toma o valor de up, temos uma baixa incidência de doenças
cardíacas, enquanto que quando toma os valores flat e down, verifica-se uma maior
incidência
ca -> à medida que o ca aumenta, aumenta também o número de ocorrências
thal -> o thal adota três valores, fixed_defect, normal, reversable defect, para os
valores fixed e reversable defect, verifica-se uma grande ocorrência de doenças
cardíacas enquanto que se o thal adotar o valor normal, temos uma baixa ocorrência
2.
a)
4
Podemos verificar que à medida que o thalach aumenta, nota-se uma diminuição nos
ocorrências de doenças cardíacas.
5
Podemos também constatar que independentemente do valor de colesterol, à medida
que o valor de thalach aumenta, diminuem o número de ocorrências de doenças
cardíacas.
6
Destaca-se, também, a observação de que, à medida que se envelhece, a
pressão sanguínea tende também a aumentar. Tal pode ser comprovado com
o gráfico abaixo, que expõe o aumento da pressão sanguínea à medida que
subimos no eixo dos yy, isto é, aumentar a idade:
7
3. Onde se denotam mais áreas densas de casos de doenças cardíacas é, justamente,
na correlação exposta na alínea anterior. Analisando a pressão sanguínea
relativamente ao colesterol, é visível que existe um grande aglomerado de casos de
doenças cardíacas quando estes dois atributos têm valores similares:
8
Q1.2
1) Após a aplicação do filtro AttributeSelection do Weka verificamos que, dos 14
atributos que compõem o dataset, 8 deles foram selecionados para um novo
subconjunto de dados que contém atributos com maior capacidade de
previsão.
2)
a) Para tratar os valores em falta substituindo os valores numéricos em
falta pela média do atributo e os nominais pela moda, foi utilizado o filtro
ReplaceMissingValues, que efetua todas estas alterações de forma
automática.
9
aplicado criou no conjunto de dados dois novos atributos: “Outlier” e
“ExtremeValue”:
Estes atributos, nominais e binários (“yes” e “no”), indicam se cada uma das
303 entradas do nosso dataset é avaliada como sendo (ou não) um outlier.
Ao observar o atributo “Outlier”, notamos que nenhuma entrada foi detetada
como sendo um valor discrepante:
10
No entanto, e como foi dito acima, o filtro InterquartileRange não detetou
outliers, pelo que ao aplicar o filtro RemoveWithValues não se verificou
qualquer alteração aos dados.
11
Q1.3
1)
a)
HEART-C:
HEART-C1:
HEART-C2:
HEART-C3:
12
Para obter estas classificações, foi executado em cada um dos datasets o
algoritmo OneR com o método 10 fold-cross validation.
2)
HEART-C (com/sem pruning):
13
HEART-C2/C3 (com/sem pruning):
3)
a) Utilizou-se o classificador J48 alterando os parâmetros “unpruned” e
“minNumObj”, obtendo-se sempre uma melhoria aquando estes
valores eram, respetivamente, “True” e “1”, isto é, sem fazer uma
14
poda dos registos da árvore e em que o número mínimo de registos
em cada folha é apenas um.
15
HEART-C2 (com pruning, minNumObj = 2):
HEART-C2 (sem pruning, minNumObj = 2):
HEART-C2 (sem pruning, minNumObj = 1):
16
HEART-C3 (sem pruning, minNumObj = 2):
HEART-C3 (sem pruning, minNumObj = 1):
17
Q1.4
2) O número mais adequado será o 5. Porque desta forma iremos obter um erro
menor, sem ter de dividir muito o dataset.
3e4)
Este exercício foi executado com um número de clusters igual a 5. Apenas foram
atribuídas classes aos clusters 3 e 4, onde no caso do cluster 3 não há existência de
doença e no cluster 4 indica um aumento do nível de doença cardíaca. Após
analisarmos os valores em ambos os clusters reparamos nas seguintes diferenças:
cp
Cluster 3: asympt
Cluster 4: non\_anginal
restecg
Cluster 3: left\_vent\_hyper
Cluster 4: normal
exang
Cluster 3: yes
Cluster 4: no
oldpeak
18
slope
Cluster 3: flat
Cluster 4: up
thal
Cluster 3: reversable\_defect
Cluster 4: normal
5)
Após utilizar a opção “Visualize cluster assignments”, apenas conseguimos descrever
o cluster 0 como sendo o único cujas instâncias eram na maioria do sexo feminino.
No caso dos restantes clusters não foi possível descobrir uma descrição pois os dados
estavam muito distribuídos, não permitido destacar nenhuma característica.
6)
Após seguir a recomendação indicada no enunciado, testamos todos os
classificadores que foram lecionados nas aulas e chegamos à conclusão de que o
classificador IBk, com o parâmetro “Cross-validation Folds “igual a 20 e os restantes
parâmetros por defeito, apresentava os melhores resultados, classificando 260
instâncias corretamente e 43 incorretamente. Desta forma conseguimos obter
melhores resultados dos que foram alcançados na secção 1.3.
19
Q 1.5
1) Weka fornece várias medidas de avaliação de desempenho, de entre as quais
se destacam: o número de instâncias corretamente classificadas, o número de
instâncias incorretamente classificadas, a e o número total de instâncias
analisadas. A primeira medida mencionada é um valor percentual indicativo
das instâncias que o classificador conseguiu identificar corretamente, em
oposição à segunda medida indicada, que apresenta uma percentagem de
instâncias mal identificadas. A confusion matrix é uma matriz de valores
inteiros, que para cada tipo de classificação, indica o número de vezes que se
classificou uma instância com esse mesmo tipo. O número total de instâncias
indica o caso de estudo. Escolheram-se estas medidas de desempenho, pois
são as principais utilizadas nas aulas práticas, para além de que os seus
valores não deixam ambiguidades.
2 e 3)
DATASET Original
20
DATASET heart-c1.arff
DATASET heart-c2.arff
DATASET heart-c3.arff
21