Você está na página 1de 20

Big Data, Artificial Intelligence e Machine Learning no

contexto da Análise de Dados em Data Science

H M Barcelos1, W. F. C. Rocha1
1
National Institute of Metrology, Quality, and Technology, INMETRO, Duque de
Caxias, RJ, Brazil

Email: hbarcelos@inmetro.gov.br; wfrocha@inmetro.gov.br

Abstract. This paper presents the concepts of Big Data, Data Science, Machine
Learnig and Artificial Intelligence addressing the context of Data Analysis.
Specifically, here is the case of the Data Science process for the construction of a
predictive model, which can be applied to a determined problem, thus generating the
visualization of the expected results.

Resumo. Este artigo apresenta os conceitos sobre Big Data, Data Science, Machine
Learning e Inteligência artificial no contexto de Análise de Dados. Especificamente,
aqui é a abordado o caso do processo de Data Science para a construção de um modelo
preditivo, o qual pode ser aplicado a um determinando problema, gerando desta forma
a visualização dos resultados esperados.

Keywords: Big Data, Data Science, Machine Learning, Artificial Intelligence, Data
Analysis, Modelos Preditivos, Métodos Supervisionados

Introdução

Existem muitos esforços despendidos ao longo dos anos na obtenção de metodologias mais
abrangentes e que ajudem na interpretação de dados, os quais tornam-se numerosos em diversas áreas
com o avanço da ciência e tecnologia, tornando o conceito de Data Science bem mais robusto na
atualidade. Neste contexto, o processo de análise de dados em Data Science une o domínio do
conhecimento de um conjunto massivo de dados - que em termos gerais são denominados de Big
Data, com formas modernas de tratamento de dados quem vão desde o aprendizado da ciência da
computação até a utilização de Inteligência Artificial (AI) e o aprendizado de máquina conhecido
como Machine Learning (ML), tendo sempre como apoio o suporte das disciplinas de matemática e
estatística. Sabe-se que a exploração de grandes conjuntos de dados colabora para melhorar,
complementar ou substituir coisas, tendo como exemplo processos, dados ou estimativas de pesquisas
e censos complexos [1]. Todo este processo do estudo de dados traz como benefícios a compreensão
do passado e a predição futura de acontecimentos presentes [2].

Sabe-se que em termos práticos, a Data Science busca transformar grandes grupos de dados em
informações úteis, colaborando de forma efetiva para a tomada de decisões complexas, para que isto
seja possível, a Data Science possui como característica a multidisciplinaridade, apresentando-se
como uma interseção entre diversas áreas do conhecimento. Através da Fig. 01 apresentada por [2],
pode-se visualizar as habilidades principais para um cientista de dados. É possível concluir através da
Fig. 01 que a interseção com diversas áreas permite ao cientista de dados construir modelos de análise
de dados bem fundamentados e estruturados, onde por exemplo com o conhecimento da Estatística é
permitido executar uma boa coleta, análise e interpretação dos dados, possibilitando diferenciar a
informação útil da informação não útil. O conhecimento em matemática é fundamental; muitas
operações matriciais e vetoriais são necessárias para ordenar grandes grupos de dados durante o
processo de mineração de dados, essencial para a construção de modelos que apresentam bons
resultados.

O conhecimento da área fim para a qual deseja-se construir um bom modelo de análise de dados é
importante, isto ajuda a entender os limites de aplicação do modelo o que possibilita concluir de forma
prática as informações adquiridas dos dados. Áreas como engenharia de processos, área médica, setor
financeiro, administrativo e mídias sociais são bons exemplos de áreas com geração de grandes
volumes de dados para análise.

Figura 1: A Ciência de dados como área


multidisciplinar

Fonte: Cuesta e Kumar (2016)

A presença da Ciência da Computação do âmbito da Data Science corrobora para a construção de


diversas ferramentas computacionais, as quais são eficazes na análise computacional de numerosos
dados gerados. Esta necessidade acaba demandando programadores para a construção de softwares em
linguagens de programação de alto nível como R, Python, C#, Java Script, PHP, dentre outras. A
formação de pessoal qualificado para a administração de bancos de dados bem como de infraestrutura
de rede e de manutenção de computadores de alto desempenho também é de grande importância para
manter funcionando toda a máquina atrelada à Ciência de Dados.

As próximas seções deste trabalho apresentarão os conceitos básicos sobre Big Data, Machine
Learnig, Inteligência Artificial e Data Science, possibilidando construir e aplicar um modelo preditivo
de análise de dados sobre um estudo de caso na área médica, utilizando como ferramenta de
programação a linguagem R desenvolvida no ambiente do software RStudio.

1. Conceitos de Big Data

Associa-se o termo Big Data a um grande volume de dados que excede a capacidade de
processamento de um banco de dados comum, chegando à dimensão de zetabytes de dados
armazenados (vide Fig. 02).

Figura 2: Crescimento de dados no mundo.

Fonte: International Data Corporation

Observando pela Fig. 02 a intensa quantidade de dados gerados por ano ao redor do mundo, [3]
destaca que o serviço de dados em empresas ligadas ao ramo de internet tem crescido de forma
acelerada. Como exemplo têm-se o processamento de dados da empresa Google, gerando centenas de
petabyte (PB); o Facebook produz um registro de 10 PB/mês; Baidu, uma empresa chinesa de busca
online processa dezenas de PB; e Taobao, uma subsitiária do Alibaba, gera dados de dezenas de
terabyte (TB) para o comércio on-line por dia [4].

Esta intensa geração de dados promove o desenvolvimento de tecnologias direcionadas ao


armazenamento e processamento de grandes volumes de dados, tendo como exemplo o projeto Apache
Hadoop, onde são produzidas bibliotecas de software em código aberto que permitem o processamento
distribuído de grandes conjuntos de dados em clusters de computadores usando modelos de
programação[5].

O estudo sobre Big Data apresenta certos “pilares” importantes, sendo sugerido o conhecimento destes
a todos os pesquisadores que desejam atuar em Data Science. Alguns destes pilares serão apresentados
a seguir.

1.1. Os pilares do Big Data

Em um conceito mais amplo o Big Data está atrelado a vários grupos de pilares denominados como
grupo V, tendo com o exemplo os 4 V´s [6], 7 V´s [7] e 10 V’s [8]. Destacando aqui o grupo dos 4 V’s
têm-se o Volume, a Variedade, a Velocidade e a Veracidade.

a) O Volume é a característica mais conhecida do Big Data. Considerando as informações transmitidas


por [8] em 2017, é impressionante saber que naquele ano 300 horas de vídeo eram enviadas ao
Youtube a cada minuto e que em 2016 o tráfego móvel global estimado foi de 6,2 exabytes por mês,
ou seja, 6,2 bilhões de gigabytes.

b) A Variedade agrega dados do tipo estruturados, sendo organizados em sua maioria na forma de
planilhas eletrônicas e os dados não estruturados tendo como exemplo os dados de áudio, imagem,
arquivos de vídeo, atualizações de mídia social, arquivos de registro, dados de clique, dados de
máquina e sensor, etc. A presença de dados não estruturados é bem superior no campo da Variedade
de dados em Big Data.

c) A Velocidade se refere à taxa na qual os dados estão sendo gerados, produzidos, criados ou
atualizados. Segundo [8] em 2017 o Facebook já armazenava em seu Data Warehouse cerca de 300
petabytes de dados, mas a velocidade na qual os novos dados são criados deve ser levada em
consideração. O Facebook alegou ter 600 terabytes de dados recebidos por dia. Neste mesmo período
o Google processou sozinho em média mais de "40.000 consultas de pesquisa a cada segundo", o que
se traduz em mais de 3,5 bilhões de pesquisas por dia.

d) O pilar da Veracidade pode ser considerado como um grande filtro de dados em Big Data. À
medida que qualquer uma ou todos os pilares acima aumentam, a Veracidade (confiança ou confiança
nos dados) diminui. A veracidade se refere mais à procedência ou confiabilidade da fonte de dados, ao
seu contexto e quão significativo é para a análise com base nela. Considerando um conjunto de dados
estatísticos sobre o que as pessoas compram em restaurantes e os preços desses itens nos últimos cinco
anos, pode-se perguntar: quem criou a fonte?, que metodologia eles seguiram na coleta de dados?
foram incluídos apenas determinados pratos ou certos tipos de restaurantes? os criadores dos dados
resumiram as informações?, a informação foi editada ou modificada por outra pessoa? [8]. A
determinação da Veracidade está definida em função das respostas apresentadas sobres estes
questionamentos apresentados. O conhecimento da veracidade dos dados, por sua vez, nos ajuda a
entender melhor os riscos associados à análise e às decisões de negócios com base neste conjunto de
dados específico.

2. Inteligência Artificial

A partir de sua primeira edição, o livro “Inteligência artificial - uma abordagem moderna” se tornou
um clássico na literatura sobre AI, neste livro Russel e Norvig [9] mencionam a seguinte frase
“Inteligência artificial tem a ver com programas inteligentes, então vamos começar e escrever alguns”.
De fato, em AI são desenvolvidos códigos computacionais que buscam simular um comportamento
inteligente, tornando a AI uma ferramenta de grande utilidade em Data Science, principalmente
quando se requer inteligência para realizar inferências, pesquisas por similaridade ou classificações
não supervisionadas.

Continuando com o foco em análise de dados dentro conceito de Inteligência Artificial, coexistem
vários campos de aplicação ainda mais profundos na geração e tratamento de dados, dentre eles têm-se
o Deep Learning e o Machine Learning (vide Fig. 03). O Deep Learning [10] é um tipo específico de
Machine Learning, formado por algoritmos de AI que podem realizar atividades impressionantes
chegando a interagir como um ser humano tendo com o exemplo os Chatbots [11] que pela sua
definição clássica, são programas de computador que processam uma linguagem natural de entrada de
um usuário e geram respostas inteligentes que são então enviadas de volta para o usuário.

É interessante perceber que desde o surgimento da humanidade, procuramos entender nossos


pensamentos e ações, ou seja, como o nosso cérebro pode perceber, compreender, prever e manipular
coisas maiores que ele mesmo. Os projetos em AI seguem esta mesma linha de compreensão e vai
além, constrói entidades inteligentes – máquinas que podem calcular como agir com eficácia e
segurança quando expostas a um amontoado de novas situações.

Atualmente as consequências que surgem com investimentos em AI são decisivas, os impactos na


economia mundial com o desenvolvimento de AI têm sido na ordem de um trilhão de dólares por ano
em receitas. O especialista em AI Kai-Fu Lee [12] prevê que o impacto na evolução da AI será “mais
do que qualquer outra coisa na história da humanidade”. O campo de desenvolvimento em AI é
abrangente, envolvendo uma grande variedade de subcampos, que vão desde a aprendizagem,
raciocínio, percepção até em situações específicas como jogar xadrez, provar teoremas matemáticos,
escrever poesia, dirigir um carro e diagnosticar doenças.

Destaca-se aqui que as aplicações de AI são vastas, tornando-a relevante em qualquer atividade
intelectual; é verdadeiramente um campo universal .

Figura 3: Deep Learning e Machine Learning como


subgrupos da Inteligência Artificial

Fonte: Próprio autor.

3. Definindo Machine Learning

Em 1952, o Engenheiro Arthur Samuel desenvolveu um protocolo em um jogo de damas que fez o
jogo aprender com os erros e acertos do usuário, com isto, em 1959 Arthur Samuel definiu o
aprendizado de máquina como um "campo de estudo que dá aos computadores a capacidade de
aprender sem serem programados explicitamente" [13]. Em termos técnicos, entende-se que Machine
Learning é um subconjunto atrelado ao conceito de Inteligência Artificial (vide Figura 3), sendo
direcionado para a criação de computadores que pensem como os humanos, permitindo a tomada de
decisões através de algoritmos que reconhecem padrões de resposta. A Fig 4 apresenta um modelo
básico para a criação de um Algoritmo de Machine Learning, colaborando para o entendimento de
um problema através de um grande conjuntos de dados [14] e a Fig. 05 apresenta alguns campos de
aplicação da ML.

Com relação à construção do algoritmo para executar a tomada de decisão, este é criado com base na
forma como os dados para aprendizagem serão associados, e neste caso tem-se três tipos de
aprendizagem, a supervisionada, não supervisionada e por reforço.
3.1. Aprendizagem supervisionada

A construção de Algoritmos de ML em com aprendizagem supervisionada tem como objetivo prever


o valor de uma variável de saída Y com base em várias variáveis de entrada X [15].

Figura 4: O aprendizado de máquina pode ajudar os humanos a aprender

Fonte: Aurélien Géron (2019)

A área de saúde é um bom exemplo de aplicação deste modelo de aprendizagem. Imagine que seja
possível obter históricos hospitalares onde o desenvolvimento de uma certa doença esteja mapeado
através de dados de um grande grupo de pacientes, e que esta doença esteja associada à combinação de
vários indicadores específicos para o seu desenvolvimento. A exposição destes dados na construção de
um modelo de Machine Learning supervisionado permite treinar e testar o algoritmo, podendo então
ser previsto um diagnóstico para um novo paciente através de métodos que detectem uma função que
descreva os padrões ocultos dos dados utilizados. Alguns métodos estatísticos como Regressão Linear,
K-Nearest Neighbors (KNN) e Árvore de Decisão são exemplos de métodos aplicados à modelos
supervisionados.

Figura 5: Exemplos de campos de aplicação em ML

Fonte: Próprio autor.

3.2. Aprendizagem não supervisionada

O foco da aprendizagem não supervisionada é clusterizar os dados, tendo como base certas
características similares, dispensando apresentar ao algoritmo dados rotulados de saída, ou em outras
palavas, objetiva-se aqui descrever as associações e padrões entre um conjunto de variáveis de entrada
sem uma variável de saída [15]. Este modelo é recomendado para problemas de agrupamento ou para
a associação e detecção de anomalias. Um bom exercício seria a criação de um modelo que identifique
anomalias ou agrupe clientes com base em comportamentos similares. Os algoritmos K-means
clustering, Regras de Associação e Análise de Componentes Principais (PCA) são exemplos de
ferramentas para a criação de máquinas de aprendizagem não supervisionada.

3.3. Aprendizagem por reforço

O algoritmo de ML desenvolvido em aprendizagem por esforço tem como princípio o aprendizado


com base na interação com o ambiente, não sendo apresentadas previamente as ações que devem ser
tomadas. Este tipo de código computacional adota uma abordagem muito diferente das técnicas de
aprendizagem supervisionada e não supervisionada, pois a aprendizagem por esforoç consegue
aprender comportamentos muito complexos sem precisar de nenhum dado de treinamento rotulado
[16], possibilitando ao modelo criado por este algoritmo tomar decisões de curto prazo enquanto
otmiza para um objetivo a longo prazo. Aplicações deste tipo de algoritmo de aprendizagem se
destacam em controle adaptativo de processos químicos não lineares na engenharia química [17],
tendo também grande participação em projetos automatizados de controles adaptativos para robôs
modulares [18], e a respeito deste segundo exemplo, tẽm-se na Figura 6 uma estrutura de
aprendizagem por reforço onde em um meio totalmente observável, o modelo pode estimar uma
função de valor para cada estado e utilizá-la para selecionar as suas ações.

Figura 6: Modelo de aprendizagem por reforço.

Fonte: Varshavskaya (2008).

4. Construindo um modelo de aplicação em Data Science

Este tópico tem como objetivo construir um modelo Machine Learning preditivo para auxiliar na
análise de dados. Retomando ao que foi bem apresentado na Figura 1, a área do saber escolhida para a
construção do modelo foi a área Médica com foco na identificação de padrões possíveis para a
realização de diagnósticos do Diebetes Mellitus [19]. O Volume de dados selecionados para o
desenvolvimento deste modelo corresponte a um total de 768 amostras associadas a pacientes do sexo
feminino, contendo resultados positivos, negativos e informações associadas à estes resultados. A
ideia principal é que o modelo apresente uma acurácia de no mínimo 75%.
Com relação aos detalhes dos dados, estes fazem parte do famoso conjunto de dados de Diabetes de
mulheres pertencentes à etnia dos índios Pima [20], um pequeno grupo étnico perto de Phoenix,
Arizona, no Sudoeste dos Estados Unidos. A população dos índios Pima está sob estudo contínuo
desde 1965 pelo National Institute of Diabetes and Digestive and Kidney Diseases [21] devido o alto
índice de diabetes.
Toda a Ciência da Computação, Machine Learnig, Matemática e Estatítica foram aplicadas na
construção do software, desenvolvido em linguagem R e no ambiente de desenvolvimento do Rstudio,
e as etapas podem ser visualizadas a seguir:

4.1. Definição do problema

Deseja-se identificar os pacientes com alta probabilidade de serem diagnosticados com diabetes,
tendo, no mínimo 75% de acurácia. Esta definição guia todas as etapas para a construção do modelo
preditivo, possibilitando a demostração dos resultados obtidos de forma adequada.

4.2. Obtenção dos dados

Para garantir a confiança nos resultados, é necessário que os dados sejam obtidos de fontes confiáveis,
neste caso o arquivo de dados contém um Dataset público de pessoas que desenvolveram ou não a
diabetes. Os dados do Dataset são do tipo estruturados [22] e foram obtidos da comunidade de
Machine Learning e Data Science chamada Kaggle [23] e são originais do National Institute of
Diabetes and Digestive and Kidney Diseases. A Tabela 01 apresenta os dados iniciais e sua disposição
no Dataset para as primeiras 6 instâncias (observações das amostras) de pacientes , a coluna Resultado
corresponde à Variável Y também conhecida como Resposta, Variável Dependente, Classe, Label ou
Target e representa o diagnósticos das pessoas que desenvolveram ou não a doença, recebendo em
cada instância o valor de 1 (um) para caos positivos e 0 para os casos negativos. As demais colunas
correspondem a cada Variável variáveis X que podem ser conhecidas por Variáveis independentes,
Explicativas, Features, Atributos ou Dimensões. Na Tabela 2 têm-se algumas informações sobre cada
Variável X.

Tabela 1: Dataset para a construção do modelo de Machine Learning.

Variável
Variáveis X
Y
Amostras
Pressão Espessura
Gravidez Glicose Insulina IMC F* Idade Resultado
Sanguínea de pele
1 6 148 72 35 0 33,6 0,627 50 1
2 1 85 66 29 0 26,6 0,351 31 0
3 8 183 64 0 0 23,3 0,672 32 1
4 1 89 66 23 94 28,1 0,167 21 0
5 0 137 40 35 168 43,1 2,288 33 1
6 5 116 74 0 0 25,6 0,201 30 0
* Função de Pedigree do Diabetes
Fonte: Kaggle (2020).
Tabela 2: Dados sobre as 8 classes analisadas.

Classificação do tipo de
Classes Descrição Unidade
dado no RStudio
Número de vezes que
Gravidez Não aplicado inteiro
engravidou
Concentração de glicose
plasmática a duas horas
Glicose em um teste oral de mg/dL inteiro
tolerância à glicose
Pressão arterial
Pressão Sanguínea mmHg inteiro
diastólica
Espessura da dobra
Espessura de Pele mm inteiro
cutânea do tríceps
Insulina sérica de 2
Insulina mUI/ml inteiro
horas
Índice de massa
IMC kg/m2 Não inteiro
corporal
Função de Pedigree do Função relacionada à
Não aplicado Não inteiro
Diabetes fatores genéticos [18]
Idade Idade do indivíduo Anos Inteiro
Fonte: Kaggle (2020).

4.3. Preparação dos dados

Esta etapa aborda a preparação dos dados para que o desenvolvimento do modelo seja o melhor
possível. Como é muito comum a existência de valores não preenchidos nas Variáveis para cada
instância, foi realizado uma verificação nas colunas do Dataset e constatado através do Rstudio que
todas estavam preenchidas. Destaca-se aqui que o Rstudio define automaticamente o tipo de dado de
cada classe do Dataset, desta forma é importante verificar se estas definições prévias foram corretas,
através da Tabela 2 foi verificado que a classificação do tipo de dado apresentado pelo Rstudio foi
satisfatória.
Uma verificação inicial dos dados pode ser feita utilizando as funções da linguagem R. A função
“summary” posibilitou a obtenção dos valores de média, mediana, valor mínimo e valor máximo de
uma para cada Variável Y e a função “boxplot” gera a visualização do gráfico tipo caixa. Tomando
como exemplo a Variável Y “Insulina”, foram obtidos os valores da Tabela 3 e Figura 7.

Tabela 3: Dados estatísticos sobre a Classe Insulina.

Mínimo. 1 st. Qu. Mediana Média 3rd Qu Máximo


0,0 0,0 30,5 79,8 127,2 846,0
Fonte: RStudio (2020).
Figura 7: Avaliação empírica dos dados para a Insulina através do gráfico de caixa

Fonte: RStudio (2020).

4.4. Análise exploratória

Esta fase é muito importante e possibilita a extração de informações relevantes sobre o conjunto de
dados. Repedindo o que foi feito na Figura 7 mas agora para todas as Variáveis Y, obtemos a Figura
8.

Figura 8: Avaliação empírica dos dados para o Dataset utilizado.

Fonte: RStudio (2020).

Observa-se pelas Figuras 7 e 8 que a Variável Y Insulina apresentam valores muito distantes da média,
isto também pode ser verificado no histograma apresentado na Figura 9.
Figura 9: Histograma para a Variável Insulina.

Fonte: RStudio (2020).

Diante dos valores apresentados foi necessário definir um filtro para uniformizar os dados
aproximando-os da média, com isso foi definido um ponto de corte para dados com valores de insulina
em até 250 mUI/ml. Após esta transformação dos dados, verificam-se pela Tabela 4 e Figura 10 e 11
os novos valores estatísticos para a Classe de Insulina.

Tabela 4: Dados estatísticos transformados para a Classe Insulina.

Mínimo 1 st. Qu. Mediana Média 3rd Qu Máximo


0,0 0,0 0,0 55,54 105,00 250,00
Fonte: RStudio (2020).

Figura 10: Avaliação empírica dos dados transformados para a Insulina.

Fonte: RStudio (2020).


Figura 11: Histograma para a Variável Insulina para amostras menor ou igual a 250 mUI/ml.

Fonte: RStudio (2020).

Com a transformação dos dados para a Variável Y Insulina, foi possível gerar a Figura 12,
apresentando agora o gráfico de caixa para todas as Variáveis com uma distribuição uniforme.

Figura 12: Avaliação empírica dos dados para o Dataset utilizado com um ponto de corte de 250 mUI/mL para a
Insulina.

Fonte: RStudio (2020).

Com esta nova transformação, as instâncias com valores de Insulina acima de 250 mUI/mL serão
desconsideradas para a criação do modelo de Machine Learning, reduzindo o número de amostras em
um novo Dataset com instâncias 712, contudo outros tipos de análises exploratórias são possíveis, não
limitando a utilização total dos dados.
4.5. Construção do modelo

Nesta etapa foi construído um modelo preditivo a partir do novo Dataset definido. O Dataset
possibilitou a aplicação de Algoritmos de ML do tipo aprendizagem supervisionada, estimando a
predição com base nos dados de entrada para as Variáveis X e Y, desta maneira o algoritmo mapeia
uma função que descreve os padrões ocultos nos dados que correlacionam os dados de entrada com os
resultados esperados. Uma vez que esta função é mapeada, será possível aplicá-la a novas Variáveis X
de uma nova amostra de entrada para prever a saída desejada, ou seja, os valores 0 ou 1 para um
diagnóstico de diabetes negativo ou positivo respectivamente. A Figura 13 apresenta o fluxograma
para a construção do modelo preditivo [24].

Figura 13: Modelo preditivo de Machine Learning com aprendizagem supervisionada.

Fonte: Raschka (2015).

Como apresentado na Figura 13, a fase de pré-processamento requer que o total das amostras
consideradas seja dividido em dois novos Datasets sendo um para Dados Treino e outro para Dados
Teste e o passo 1 simboliza essa separação. Para a realização desta tarefa foi utilizado o pacote
caTools que apresenta a função sample.split do Rstudio, nesta função foram utilizados como
parâmetros a classe Gravidez e o valor percentual de 70% totalizando 498 amostras para os Dados
Treino e 214 para os Dados Teste.

Finalizado a fase de pré-processamento o passo 2 segue para a fase de aprendizagem, nesta etapa o
modelo foi criado utilizado a função “train” do pacote “Carret” no Rstudio, inserindo nesta função a
Variável Y Resposta, o grupamento de todas as Variáveis X preditoras (vide Tabela 1), o Dataset com
os Dados Treinos e o Algoritmo de Machine Learning conhecido como K-Nearest Neighbor (KNN)
[25], sendo este um Método do tipo Supervisionado adequado para este problema de classificação.
Como o Método KNN é um algoritmo de classificação e que se baseia nos vizinhos mais próximos
(vide Figura 14), ao ser apresentado a um dado ele irá classificá-lo com base nos exemplos mais
próximos apresentados na fase de aprendizagem.
Figura 14: Método KKN.

Fonte: Raschka (2015).

Para o Método KNN utiliza-se um parâmetro k representando a quantidade de vizinhos mais próximos
que deve ser considerada pelo algoritmo. Observando a Figura 14 e considerando k = 3 tem-se que o
novo elemento (?) é classificado como triângulo, pois é a quantidade de elementos mais próximos da
nova observação. Desta forma ao considerar um intervalo inteiro de 1 a 20 para k no algoritmo, foi
gerado a Figura 15 apresentando como métrica de desempenho a acurácia encontrada para cada k
utilizado, onde foi possível identificar que a acurácia de 72,35909% com coeficiente Kappa igual a
0,33257 para k=19 foi a melhor, contudo não foi atendido a meta de 75% de acurácia. Nesta etapa
foram concluídos os passos de 1 a 3 referentes à Figura 13.

Figura 15: Curva de acurácia com a aplicação do Algoritmo ML tipo KNN.

Fonte 1: RStudio (2020).

Outra opção de Algoritmo de Machine Learning aplicado a problema de classificação e do tipo de


aprendizagem supervisionada é o chamado Naive Bayes [26] , sendo uma técnica de classificação
baseado no teorema de Bayes com uma suposição de independência entre os preditores [27].
Resumidamente, um Algoritmo do método de Naive Bayes assume que a presença de uma
característica particular em uma classe não está relacionada com a presença de qualquer outro recurso.
Por exemplo, um animal pode ser um cachorro se tiver calda, patas e ser domesticável. Mesmo que
esses recursos dependam uns dos outros ou da existência de outras características, todas estas
propriedades contribuem de forma independente para a probabilidade de que esse animal seja um
cachorro, é por isso que o método é conhecido como ‘Naive’ (ingênuo).

Como feito anteriormente na fase de Pré-processamento, o passo 2 segue para a fase de aprendizagem
e novamente será considerada a função “train” do pacote “Carret” no Rstudio, inserindo nesta função
a Variável Y Resposta, o grupamento de todas as Variáveis X preditoras (vide Tabela 1), o Dataset
com os Dados Treinos e agora o Algoritmo de Naive Bayes. Foi encontrado o valor de 75,80241% de
acurácia e coeficiente Kappa de 0,44730 (vide Figura 16) sendo atingida a meta de 75% de acurácia
para este exemplo.

Figura 16: Método Naive Bayes.

Fonte: RStudio (2020).

Para efeito de comparação foi realizado mais um treinamento de máquina, utilizando um Algoritmo de
Machine Learning aplicado em problemas de classificação e regressão chamado de svmRadialSigma
no sorfware Rstudio, este algoritmo está estruturado conforme o método Support Vector Machine
(SVM) [28]. O SVM é utilizado para realizar regressões e classificações gerais (do tipo nu e épsilon),
bem como estimativas de densidade. O desenvolvimento deste método faz a utilização de Radial Base
Functions (RBF) ou Funções de Base Radial [29], muito utilizada em processos de interpolação
aplicados em Métodos numéricos [30,31,32,33].

Observando a Figura 17, com a aplicação do SVM foi possível obter uma acurácia de 76,48089 para
um valor de Sigma de 0,03495, variável Cost (Constante do termo de regularização da formulação de
Lagrange) igual a 0,50 e coeficiente Kappa igual a 0,43912.

Pela Tabela 5 verificou-se que os Algoritmos de Machine Learning Naive Bayes e SVM obtiveram o
sucesso para a meta estabelecida de 75% de acurácia com os dados treino, contudo os 3 modelos
Modelos treinados seguiram para realizar a fase de Avaliação (vide passo 4,5 e 6 da Figura 13). Com
isto, utilizando o comando “Predict” do Rstudio que retorna as previsões com base nos modelos
treinados e os dados de teste foi possível construir a Tabela 6.
Figura 17: Método SVM

Fonte: RStudio (2020).

Tabela 5: Acurácia encontrada para os métodos aplicados com dados treino.

Acurácia para os dados


Método. Coeficiente Kappa
treino
K-Nearest 0,33257
KNN 72,35909%
Neighbor
Naive 75,80241% 0,44730
Naive Bayes
Bayes
Support Vector 76,48089% 0,4391171
SVM
Machines
Fonte: RStudio (2020).

Tabela 6: Acurácia encontrada para os métodos aplicados com dados teste.

Acurácia para
Método. Coeficiente Kappa
os dados teste
K-Nearest
KNN 76,17% 0,4179
Neighbor
Naive 75,70% 0,4171
Naive Bayes
Bayes
Support Vector 79,91% 0,5092
SVM
Machines
Fonte: RStudio (2020).

Pelo teste apresentado na Tabela 6, o Modelo construído com base no algorítmo SVM superou os
outros demais, tanto pela acurácia quanto pelo coeficiente Kappa. Seguindo para o passo 7 (vide
Figura 13) os 3 Modelos serão submetidos à novas amostras apresentadas na Tabela 7 , podendo desta
forma aplicar os modelos construídos em novos casos, gerando os diagnósticos para a doença de
Diabetes conforme a Tabela 8.
Tabela 7: Amostras criadas para a realização de SIMULAÇÕES DE diagnósticos positivos ou negativos para a doença de
Diabetes.

Variáveis X
Amostras Pressão Espessura
Gravidez Glicose Insulina IMC F* Idade
Sanguínea de pele
1 0 171 77 23 94 27,5 1,627 23
2 3 97 55 12 167 24,3 2,351 37
3 6 210 61 40 146 37,7 0,372 44
4 9 67 45 15 101 29,1 0,267 47
5 12 101 83 45 85 49,1 2,08 54
* Função de Pedigree do Diabetes
Fonte: Próprio autor (2020).

Tabela 8: Simulações de diagnósticos para a doença de diabetes obtidos pelos 3 modelos construídos.

Diagnóstico (Variável Y ou Resposta)


Amostras
KNN Naive Bayes SVM

1 Positivo Negativo Positivo


2 Negativo Positivo Negativo
3 Positivo Positivo Positivo
4 Negativo Negativo Negativo
5 Negativo Positivo Positivo

Fonte: RStudio (2020).

Considerando a proposta de acurácia de 75% para este problema, o Algoritmo de Machine Learnig
SVM superou os demais tanto na fase de Treinamento do Modelo quanto na Fase de apresentação dos
Dados Testes.

5. Conclusões

A partir do exposto, ficou claro que o desenvolvimento de trabalhos em Data Science envolve uma
abordagem multidisciplinar, requerendo daqueles que atuam nesta área o conhecimento e domínio de
modernas técnicas e ferramentas tecnológicas para a análise e interpretação de dados, garantindo desta
forma uma clara informação sobre a previsão e compreensão do volume de dados gerados em um
processo complexo.
Foi evidenciado que o investimento na manutenção do conhecimento vai desde o domínio de
disciplinas tradicionais como matemática e estatística até o aprendizado de técnicas modernas de
análise de dados como Deep Learning, Machine Learning, AI as quais trazem diversos métodos em
suas aplicações.
A apresentação experimental demostrou que o Modelo criado apartir do Algoritmo de Machine
Learning SVM superou os demais durante as fases de treino e teste dos modelos, contudo o Algoritmo
KNN apresentou uma boa aproximação das previsões quando comparado com o método SVM. Cabe
mencionar que as instâncias apresentadas para a realização dos diagnósticos simulados foram criadas
de forma aleatória, onde para casos reais as Variáveis X podem estar correlacionadas e isto não foi
considerado. Para realização de trabalhos futuros, torna-se interessante testar outros Métodos de
Machine Learning disponíveis como por exemplo o Decision Trees, Neural Networks, etc., além de
utilizar dados de amostras reais na etapa de predição de diagnóticos.

Agradecimentos. Os autores agradecem à colaboração da instituição INMETRO pelo apoio à


pesquisa.

Declaração de autoria. Os autores confirmam que são os únicos responsáveis pela autoria deste
trabalho, e que todo o material que foi incluído como parte do presente trabalho é de propriedade (e
autoria) dos autores, ou tem a permissão dos proprietários para ser incluído aqui.

Referencias

[1] Hill C A, Biemer P P, Buskirk T D, Japec L, Kirchner A, Kolenikov S and Lyberg, L. E 2020 Big
data meets survey science (ed. Wiley).

[2] Cuesta H, Kumar S 2016 Practical Data Analysis (ed. Birmingham: Packt Publishing).

[3] Freitas J J C S, Maçada A C G, Oliveira M, Brinkhues R A 2016 Big Data e Gestão do


Conhecimento: Definições e Direcionamentos de Pesquisa. Revista Alcance, 23 529-546.

[4] Chen M, Mao S, Liu Y 2014 Big data: A survey. Mobile Networks and Applications. 19 171-209.

[5] Hadoop: O que é, conceito e definição 2016, Cetax [s. l.]. Disponível em:
https://www.cetax.com.br/blog/apache-hadoop/. Acesso em: 14 nov 2020.

[6] Introdução à Análise de Dados 2020 Fundação Escola Nacional de Administração Pública.
Brasília:ENAP. Disponível em: https://www.escolavirtual.gov.br/catalogo#inicio-listagem-cursos.
Acesso em: 25 out. 2020.

[7] Guimarẽs L 2018 Big Data VS: Você sabe quais são os Vs do Big Data?. Know Solutions [s. l.].
Disponível em: https://www.knowsolution.com.br/big-data-vs/. Acesso em: 01 nov. 2020.

[8] Firican G. 2017 The 10 Vs of Big Data. Up Side,. Disponível em: https://tdwi.org/articles/2017/02
/08/10-vs-of-big-data.aspx. Acesso em: 01 nov. 2020.

[9] Russel S, Norvig P 2020 Artificial Inteligence: A Modern Approach. (4. ed. Pearson Series).

[10] Goodfellow I, Bengio Y, Courville A 2017 Deep Learning (MIT Press).

[11] Khan R, Das A 2018 Build Better Chatbots (Apress).

[12] Lee K. -F. 2018 AI Superpowers: China, Silicon Valley, and the New World Order (Houghton
Mifflin Harcourt).

[13] Reza M. Machine Learning 1995 Pittsburg PA: CMUCC. Disponível em:
http://www.contrib.andrew.cmu.edu/~mndarwis/ML.html. Acesso em: 25 out. 2020.
[14] Géron A 2019 Hands -on Machine Learning with Scikit-Learn Keras & TensorFlow: Concepts,
Tools, and Techniques to Build Intelligent Systems Analysis (ed. Jupyter).

[15] Rocha W F C, Prado C B, Blonder N 2020 Comparison of Chemometric Problems in Food


Analysis using Non-Linear Methods. Molecules, 25: 1-55.

[16] Borini G 2018 Reinforcement Learning: Aprenda com o mini carro autônomo DeepRacer, cio [s.
l.]. Disponível em: https://cio.com.br/tendencias/reinforcement-learning-aprenda-com-o-mini-carro-
autonomo-deepracer/. Acesso em: 15 nov 2020.

[17] Shah H, Gopal M 2010 Reinforcement learning framework for adaptative control of nonlinear
chemical processes. Asia-Pacific Journal of Chemical Engineering, 6: 138-146.

[18] Varshavskaya P, Kaelbling L P, Rus D 2008 Automated Design of Adaptive Controllers for
Modular Robots using Reinforcement Learning. The International Journal of Robotics Research, 27:
505-526.

[19] Oguntibeju O O 2013 Diabetes Mellitus – Insights and perspectives (InTech Press Team).

[20] Scliar, M 2009 Diabetes: Aprendendo com os índios, Academia [s. l.] . Disponível em:
https://www.academia.org.br/artigos/diabetes-aprendendo-com-os-indios. Acesso em: 10 nov. 2020.

[21] NIH: National Institute of Diabetes and Digestive and Kidney Diseases 2020, Kniddk.nih, U. S.
Department of Health and Human Services. Disponível em: https://www.niddk.nih.gov/health-
information/diabetes. Acesso em: 10 nov. 2020.

[22] A diferença entre dados estruturados e não estruturados, docmanagement [s. l.]. Disponível em:
https://docmanagement.com.br/03/06/2015/a-diferenca-entre-dados-estruturados-e-nao-estruturados/.
Acesso em 15 nov 2020.

[23] Data: Diabetes Data Set 2020, Kaggle [s. l.]. Disponível em:
https://www.kaggle.com/mathchi/diabetes-data-set. Acesso em: 10 nov. 2020.

[24] RASCHKA S 2015 Python Machine Learning (Birmingham: Packt Publishing,).

[25] Shakhnarovich G, Darrell T, Indyk P 2006 Nearest-Neighbor Methods in Learning and Vison
(MIT Press).

[26] Herrmann, D, Wendolsky R, Federrath H A. 2009 Attacking Popular Privacy Enhancing


Technologies with the Multinomial Naïve-Bayes Classifier, CCSW’95, nov 2009 Disponível em:
https://dl.acm.org/doi/10.1145/1655008.1655013. Acesso em 12 novembro 2020.

[27] RAI, S. 2016 6 passos fáceis para aprender o algoritmo Naive Bayes (com o código em Python).
VOOO.PRO, 2016. Disponível em: https://www.vooo.pro/insights/6-passos-faceis-para-aprender-o-
algoritmo-naive-bayes-com-o-codigo-em-python. Acesso em: 13 nov. 2020.

[28] MEYER D 2020 SVM: Support Vector Machines, Rdocumentation, 2020. Disponível em: https://
www.rdocumentation.org/packages/e1071/versions/1.7-4/topics/svm. Acesso em: 13 nov. 2020.

[29] BUHMANN M D 2003 Radial Basis Function: Theory and Implementations (Cambridge
University Press).
[30] LOEFFLER C F, CRUZ A L, BULCÃO A 2015 Direct Use of radial basis interpolation functions
for modelling source terms with the boundary element method. Eng. Anal. Bound. Elem.,50: 97-108.

[31] LOEFLLER C F, BARCELOS H M, MANSUR W J, BULCÃO A 2015 Solving Helmholtz


Problems with the Boundary Element Method Using Direct Radial Basis Function Interpolation. Eng.
Anal. Bound. Elem., 61: 218-225.

[32] BARCELOS H. M.; LOEFFLER, C. F. The direct interpolation boundary element method
applied to smoothly inhomogeneous Laplace’s problems. Eng. Anal. Bound. Elem., V. 105, n. 1, p.
155-164, 2019.

[33] BARBOSA J P, LOEFFLER C F 2020 Application of Boundary Element Method superposition


technique for solving natural frequencies in piecewise homogeneous domains. Comput. Math. with
Applications, 79: 1131–1144.

Você também pode gostar