No Brasil o câncer de mama é o terceiro tumor com maior incidência, podendo ter sua evolução de forma mais rápida ou não. Por isso, o melhor tratamento começa sempre com um diagnóstico precoce. Partindo dessa afirmação, podemos hoje criar inteligências artificiais capazes de gerar diagnósticos cada vez mais precisos para auxiliar a tomada de decisão dos profissionais da saúde. Com o imenso volume de dados hoje disponíveis, temos potencial para treinar modelos de aprendizado de máquina com a finalidade de analisar pacientes com base em um conjunto de características e assim indicar a probabilidade de este conter alguma anomalia.
Classificar Tumor na Mama em Benigno ou Maligno
Desenvolvimento:
- Extrair, Tratar e Limpar Dados
- Visualizar Dados
- Criar Modelo Preditivo
- Disponibilizar Modelo para Utilização
Desenvolvimento do Projeto: Aqui
Desenvolvimento do Web App: Aqui
Aplicativo para Classificação: Aqui
Os dados deste problema foi obtido dos Hospitais da Universidade de Wisconsin, em Madison-USA.
Responsável: Dr. William H. Wolberg.
Link para os dados: Aqui
Mais informações sobre os dados ein: Descrição / Wisconsin Diagnostic Breast Cancer
A base de dados possui informações sobre 9 exames distintos de 699 mulheres diagnosticadas com tumor maligno ou benigno na mama.
Todos os resultados dos exames são disponibilizados em uma escala de 1 a 10:
- Clump Thickness
- Uniformity of Cell Size
- Uniformity of Cell Shape
- Marginal Adhesion
- Single Epithelial Cell Size
- Bare Nuclei
- Bland Chromatin
- Normal Nucleoli
- Mitoses
A escolha das características foi minuciosa para a realização de um bom diagnóstico. Abaixo pode-se notar que a maioria delas possuem uma correlação consideravelmente forte com a classificação do tumor e que, um valor mais alto nos resultados de cada exame influencia positivamente na aparição de um tumor maligno.
Para criação do modelo foi testado cinco algoritmos diferentes:
- Random Forest
- Suport Vector Machine
- Logistic Regression
- K Neighbor Nearest
- Gradient Booster
De um modo geral todos os modelos tiveram resultados satisfatórios.
Pelo contexto da situação, entendemos que, o problema mais grave em um possível erro de classificação seria a não identificação dos tumores malignos. Este tipo de erro poderia atrasar o início de um tratamento, onde o diagnóstico precoce é de suma importância na cura. Assim, neste caso temos um alto custo dos Falsos Negativos, e uma métrica melhor para esta situação seria o Recall.
Como nossos modelos foram igualmente bons, combinamos dois dos melhores avaliados a fim de equilibrar suas fraquezas individuais usando as probabilidades previstas médias para indicar o rótulo da classe. Selecionamos para isso o Random Forest e o K Nearest Neighbor, pois, além de obterem os melhores resultados, são conceitualmente diferentes, o que melhorou ainda mais nosso Recall e Acuracidade.
Relatório de Classificação:
precision recall f1-score support
2 1.00 1.00 1.00 72
4 1.00 1.00 1.00 33
accuracy 1.00 105
O modelo combinado entre Random Forest e K Nearest Neighbor acertou todos os resultados nos nossos dados de validação, ainda desconhecidos pelo modelo.
Temos aqui então um ótimo modelo de classificação, porém, como se trata de diagnósticos extremamente importantes, é sempre bom avaliar não só o rótulo da classificação, mas também, a probabilidade da ocorrência.
Desenvolvimento do Projeto: Aqui
Desenvolvimento do Web App no Streamlit: Aqui
Mário Lisbôa
Pós-Graduando em Data Science e Analytics - USP 🔗