quarta-feira, 4 de janeiro de 2023

Reconhecimento de padrões e classificação com o uso do dataset BreastCancer do pacote mlbench (da linguagem R)

Introdução

O dataset BreastCancer, disponível no pacote "mlbench", contém 699 observações de 11 variáveis, sendo uma delas ("Class") a variável dependente (ou alvo), que rotula a lesão como sendo um câncer ou não ("benign" ou "malignant").

As características do dataframe puderam ser conferidas com os comandos str(BreastCancer), summary(BreastCancer) e ?BreastCancer.


As variáveis independentes foram convertidas em numéricas gravando-se o dataset em arquivo "csv" e realizando-se sua leitura com o comando read.table("bc.csv", header=TRUE, sep=",", stringsAsFactors=FALSE).

As bibliotecas utilizadas na análise foram sendo instaladas e chamadas conforme a necessidade e estão indicadas no código, que pode ser conferido no meu GitHub.


Objetivo: reconhecimento de padrões

Realizar análises de reconhecimento de padrões no conjunto BreastCancer.


Desenvolvimento

Para o reconhecimento de padrões no conjunto de dados foi preciso supor que a variável “Class” não era conhecida. Um novo dataframe foi criado após a exclusão da coluna-alvo.

Usamos a técnica do PCA (Principal Component Analysis) para a redução do número de variáveis do conjunto de dados, de forma a poder plotar as observações, na tentativa de constatar visualmente os padrões.

Foi visto que os dois componentes principais explicavam 74,17% das variâncias, sendo suficientes para a análise que se pretendia fazer.

Aplicada a técnica, foram plotados os “scores” e gerado o “biplot”, sendo possível delinear os agrupamentos.

Na sequência, usando o “autoplot” da biblioteca “ggfortify”, agora com a variável “Class” para a coloração das observações, foi possível relacionar os grupos delineados às lesões benignas (em vermelho) e malignas (em azul).

Por fim, o gráfico gerado permitiu conhecer a contribuição de cada variável para a geração dos componentes principais, havendo um destaque visual para as mitoses, com menor correlação com as demais variáveis.



Objetivo: classificação

Realizar análises de classificação com o mesmo conjunto de dados.


Desenvolvimento

Para a tarefa de classificação, a variável dependente “Class” foi modificada para o tipo “factor”, que informa ao “R” tratar-se de uma variável categórica.

O dataset foi dividido entre treino e teste, na proporção de 80 e 20%, respectivamente. Essa providência é necessária no campo da aprendizagem de máquina supervisionada para a medição da performance do modelo.

Foram usados os algoritmos de árvore de classificação, floresta aleatória com o “mtry” (quantidade de variáveis sorteadas por árvore) de valor 4 e Naive Bayes, com acurácias medidas de, respectivamente, 0,9489, 0,9635 e 0,9562, constatadas a partir da matriz de confusão.



Conclusão

Os algoritmos disponíveis no pacote “R” permitiram o emprego da técnica do PCA para redução da dimensionalidade do dataset analisado e a plotagem bidimensional das observações favoreceu a identificação visual de padrões no conjunto de dados.

Além disso, o algoritmo de floresta aleatória mostrou ser o mais performático para a tarefa de classificação do conjunto de dados analisado.


Referências:

CRAN.R.PROJECT.ORG. Plotting PCA (Principal Component Analysis). Disponível em: https://cran.r-project.org/web/packages/ggfortify/vignettes/plot_pca.html. Acesso em: 3 Jan. 2023.

MONIZ, Paulo. Uma abordagem prática para avaliar o desempenho de algoritmos para um problema de classificação binária em um projeto de machine learning. Disponível em: https://rpubs.com/PMONIZ80/506010. Acesso em: 3 Jan. 2023.

MORETTIN, Pedro Alberto; SINGER, Júlio da Morra. Estatística e ciência de dados, 1ª. ed., Rio de Janeiro: LTC, 2022. 

PÉREZ, Fernando L. MLExemplo09: regressão logística. Disponível em: http://leg.ufpr.br/~lucambio/CE225/20211S/MLGExemplo09.html. Acesso em: 3 Jan. 2023.

SAMINATHAN. Breast Cancer Classification Problem Analysis. 29 mar. 2018. Disponível em: https://rstudio-pubs-static.s3.amazonaws.com/374852_57bcde1cc74f4950ab66a6a6d58781a5.html. Acesso em: 3 Jan. 2023.


Nenhum comentário:

Postar um comentário