Professional Documents
Culture Documents
0 ao Diagnstico de Doena
Renal Crnica
Relatrio Final
Inteligncia Artificial
3 ano do Mestrado Integrado em Engenharia Informtica e Computao
Elementos do Grupo:
Andr Pinto up201303663 up201303663@fe.up.pt
19 de Abril de 2016
ndice
Objetivo ................................................................................................................................ 3
Especificao ........................................................................................................................ 4
Anlise .......................................................................................................................... 4
Detalhes do tema ...................................................................................................... 4
Ilustrao de cenrios .............................................................................................. 4
Explicao de Data sets............................................................................................ 4
Abordagem .................................................................................................................... 5
Tcnicas .................................................................................................................... 5
Algoritmos e sua breve explicao ........................................................................... 5
Mtricas .................................................................................................................... 6
Heursticas ............................................................................................................... 6
Desenvolvimento .................................................................................................................. 7
Ferramentas utilizadas ................................................................................................ 7
Estrutura e Detalhes .................................................................................................... 7
Experincias ......................................................................................................................... 8
Objetivos ....................................................................................................................... 8
Resultados ..................................................................................................................... 9
Execuo por defeito ................................................................................................. 9
Execuo com outras opes ativas .........................................................................10
Concluses ...........................................................................................................................10
Recursos ..............................................................................................................................11
Bibliografia ..................................................................................................................11
Software .......................................................................................................................11
Apndice ..............................................................................................................................12
Objetivo
Este projeto est a ser desenvolvido no mbito da unidade curricular Inteligncia
Artificial e tem como objetivo desenvolver uma aplicao em C, recorrendo a algoritmos de
aprendizagem C5.0, que determina a rvore de deciso que traduza regras especficas no
diagnstico de doena renal crnica. Um conjunto de exemplos usado na aprendizagem dessas
regras de classificao.
Inicialmente estava previsto a utilizao do algoritmo C4.5, mas dadas as vantagens do
algoritmo C5.0 e o facto de se conseguir aprender os mesmo conceitos com este algoritmo levou-me
a optar por o utilizar.
Especificao
Anlise
1. Detalhes do tema
A Doena Renal Crnica uma condio de leso renal acompanhada
geralmente por perda progressiva da funo dos rins. Atualmente conhece-se que
um em cada dez adultos portador desta doena, mas dado que a doena no
costuma ocasionar sintomas (exceto em fases avanadas) a maioria das pessoas
desconhece que sofre desta. Um diagnstico precoce da doena ajuda que esta no
progrida para fases mais avanadas.
As variveis utilizadas na aprendizagem esto relacionadas com fatores de
risco num indivduo, como por exemplo:
o
Diabetes
Presso alta
Idade avanada
Doenas cardiovasculares
2. Ilustrao de cenrios
Esta aplicao pode ser usada, por exemplo, por um mdico para corroborar
alguma concluso a que tenha chegado. Tambm poderia ser usada por uma pessoa
para poder verificar por ela prpria se h ou no motivos para preocupao, e se
autodiagnosticar, mas dado necessidade de introduo de muitos dados de difcil
obteno num ambiente comum, para se obter um resultado fivel, o individuo
teria que se deslocar a um hospital de qualquer maneira.
Abordagem
1. Tcnicas
Como j foi referido, vai ser utilizado o algoritmo C5.0 para determinar a
rvore de deciso. Ora, com a utilizao deste algoritmo tambm estar envolvida a
utilizao de outra tcnica complementar.
Esta tcnica tem a designao de adaptative boosting (Rob Schapire e Yoav
Freund), e consiste em:
Gerar vrios classificadores em vez de um. Quando um novo caso para
ser classificado, cada classificador vota na sua classe prevista e os votos so
contados para determinar a classe final.
A maneira em que isto se processa a seguinte:
1. Uma primeira rvore de deciso gerada, como se normalmente faz;
2. Dado que, geralmente, esta primeira rvore classifica erradamente
alguns dos casos de treino, criado um novo classificador, que se foca
mais nos casos de erro para que este seja reduzido;
3. Como esse segundo classificador tambm poder cometer erros, o
processo repete-se, at o ltimo classificador ser ou muito preciso ou
muito impreciso (ou ento, at um numero de iteraes previamente
especificado).
Input:
Output:
rvore de deciso que classifica corretamente os dados.
Casos base:
3. Mtricas
O algoritmo utilizado semelhante ao algoritmo C4.5 e este tipo de rvore de
deciso baseia-se em entropia e ganho de informao. Isto consiste em obter o
maior nmero de elementos que balanam todos para a mesma classe (conjuntos
puros). Essa pureza obtida a partir da entropia dos elementos.
Quanto mais alta a Entropia do atributo, mais incerteza h a respeito do
interesse dos seus valores para a classificao. A entropia da propriedade de
classificao de um atributo pode ser calculada com:
Entropy(Ex) = - p(a)*log(p(a)) - p(b)*log(p(b))
Ex subconjunto
4. Heursticas
Por vezes os resultados obtidos com o mtodo referido apresentam resultados
errados. Isto porque pode aparecer um atributo que divida os dados em classes
nicas, que, por serem nicas, possuam sempre um nvel de pureza mximo.
Para contornar o problema foi criado um gain ratio, que, aps o calculo do
ganho utiliza a formula:
GainRatio(Ex,A) = Gain(Ex,A)/IV(Ex,A)
A - atributo
Desenvolvimento
Ferramentas utilizadas
O projecto foi desenvolvido em C, usando gedit como editor de texto e a GNU
Compiler Collection para compilar. Foi tambm utilizado uma implementao j
desenvolvida do algoritmo C5.0 em C. Foi tambm usada uma interface grfica que
corre a implementao do algoritmo.
Estrutura e Detalhes
A aplicao apenas usada para chamar a ferramenta principal para o
processamento dos dados. Apenas se tem que especificar o diretrio onde se
encontram os ficheiros ckd.names e ckd.data. No mesmo diretrio tambm se
pode incluir um ckd.test para utilizar como teste ao classificador gerado pela
ferramenta.
(Por motivos tcnicos, as experiencias feitas foram realizadas com a interface
para Windows disponibilizada pelos autores da ferramenta. Dado que a ferramenta
a mesma no h motivos para se esperar discrepncias)
Experincias
Objetivos
A ferramenta utilizada tem vrios parmetros que podem variar. Com
estas experincias ser analisado cada mtodo de forma a compreender como a
ferramenta se comporta e de que modo os resultados variam.
Foi decidido dividir as amostras fornecidas em 2 grupos de data sets. Um
para treino, com 300 amostras e outro para teste, com 100 amostras.
As experincias a realizar sero ento:
Resultados
1. Execuo por defeito
Quando feita uma execuo por defeito, obtemos:
Existiram 3 erros, em que amostras foram dadas como falsospositivos para a doena, admitindo uma taxa de erro de 1.0%;
-w Winnowing
-p Soft Threshold
-b Boosting w/ 10 trials
-w
-p
-b
-w -p
-w -b
-p -b
-w -p -b
Dados Treino
1.7%
1.0%
0.0%
1.7%
1.0%
0.0%
1.0%
Dados Teste
2.0%
2.0%
0.0%
2.0%
2.0%
0.0%
2.0%
Tamanho DT
9 (4)
6 (10)
9 (4)
6 (10)
Concluses
Conseguimos concluir atravs desta recolha de dados que a funcionalidade de Soft
Thresholds pouco afeta o resultado final em termos de erros e espao ocupado pela rvore. Por
outro lado, winnowing dos atributos consegue gerar uma DT mais pequena, mas custa de
preciso. O que realmente consegue reduzir a quantidade de erros na classificao fazer
boosting, usando mais recursos (tempo e espao).
Recursos
Bibliografia
o
Software
o
Gedit
Office 365
Percentagem de trabalho
Andr Pinto 100%
Apndice
Antes de correr o programa deve-se compilar a ferramenta com o algoritmo, navegando
at pasta C50 no terminal e usando o comando make.
Ferramenta com implementao do algoritmo C5.0:
./ckd <mode>
Onde <mode>: