Autores: Jones Granatyr, Bruno Mateus Casali, Rafael Sousa da Silva, José Adair Fabricio, Alan Diego Darold, Fábio Alexandre Taffe
As bases de dados transacionais são aquelas que armazenam os dados diários de uma determinada empresa, sendo alimentadas pela utilização dos sistemas de informação transacionais. Nesse tipo de sistema o objetivo é realizar as operações do dia a dia em um setor específico, ou seja, o esquema da base de dados está preparado para suprir essa necessidade. Por exemplo, em um cenário de mercado são necessárias estruturas de tabelas para possibilitar o controle dos principais processos desse setor, tais como controle de estoque, venda dos produtos e emissão de cupom fiscal. Em outras palavras, esses sistemas estão preocupados com as operações básicas realizadas sobre os dados, tais como inclusão, alteração, exclusão e consulta.
Porém, quando é necessário aplicar técnicas de mineração de dados objetivando a tomada de decisão no nível gerencial da empresa, na maioria das vezes os esquemas transacionais não são adequados para a aplicação dos algoritmos correspondentes. Isso ocorre porque esses algoritmos necessitam que os dados estejam em um padrão pré-determinado, ou seja, a base de dados transacional necessita ser convertida para um formato no qual eles possam ser aplicados.
Dentro desse contexto, a mineração de dados objetiva aplicar tais algoritmos em bases de dados com o intuito de encontrar automaticamente algum tipo de padrão ou auxiliar em processos de tomada de decisão. Existem diversas tarefas de mineração de dados e as principais são: classificação, regressão, detecção de desvios, descoberta de regras de associação, agrupamento e descoberta de padrões sequenciais. Cada uma delas objetiva encontrar relações distintas nos dados e são aplicadas a cenários específicos. A classificação, como o próprio nome sugere, tem o intuito de classificar os registros em classes: por exemplo, bancos utilizam essa técnica para indicar se o risco de conceder um empréstimo para um cliente é alto, médio ou baixo. Desse modo, o cliente é categorizado em uma dessas três classes para que o banco possa tomar a decisão se deve ou não liberar o empréstimo.
A regressão, por sua vez, trabalha com atributos numéricos e uma aplicação prática é prever o limite do cartão de crédito de um cliente com base em seus gastos mensais. Já a detecção de desvios é utilizada para encontrar outliers, ou seja, registros que estão muito fora de um padrão que vem ocorrendo há um certo tempo. Essa técnica é comumente aplicada para detectar fraudes em cartão de crédito tomando como base o padrão de compra do cliente, dessa forma, caso o sistema detecte alguma compra fora do padrão o cartão pode ser bloqueado. Por outro lado, a descoberta de regras de associação visa encontrar relacionamentos entre os dados, e o exemplo clássico é o do cenário do supermercado, no qual se objetiva encontrar quais são os produtos que são vendidos em conjunto para planejar a disposição e organização das prateleiras.
A tarefa de agrupamento, por sua vez, tem o intuito de analisar os dados e formar grupos semelhantes. Por exemplo, em um cenário de uma loja de departamentos um grupo pode ser composto pelos clientes interessados em acessórios de beleza, enquanto que outro grupo pode ser formado por pessoas interessadas em eletrônicos. Com isso, é possível segmentar o mercado e enviar propagandas somente para os clientes que possuem maiores chances de comprarem os produtos. Por fim, a última tarefa de mineração de dados diz respeito à descoberta de padrões sequenciais, ou seja, objetiva-se prever o que acontecerá no futuro com base em um comportamento atual. Por exemplo, se um leitor comprar o livro “SQL Básico”, a loja saberá que no futuro ele comprará o livro “SQL Avançado” e enviará um e-mail com uma promoção, por exemplo.
Neste artigo serão abordadas com mais detalhes somente as tarefas de classificação e descoberta de regras de associação, pois a transformação das duas bases de dados deste exemplo está relacionada a essas tarefas. A próxima seção explana melhor sobre as duas técnicas.
Classificação e descoberta de regras de associação
A tarefa de classificação tem o intuito de associar cada registro da base de dados a uma classe pré-definida. Para que isso seja possível são necessários dois pré-requisitos: um conjunto de atributos previsores e um atributo meta. A Figura 1 apresenta um exemplo e pode-se observar que existem três atributos previsores (sexo, idade e número de dependentes) e um atributo meta (gasta muito). Dessa forma, a tarefa de classificação busca encontrar uma relação entre os atributos previsores com o atributo meta, ou seja, objetiva-se responder a seguinte questão: será que o sexo, a idade e o número de dependentes influencia no valor que o cliente irá gastar na loja? Com isso, é possível construir um sistema inteligente no qual se possa prever se o cliente irá gastar muito ou gastar pouco com base em suas características. A base de dados da Figura 1 já está com o atributo meta definido, porém, quando um sistema desse tipo for construído do zero, uma análise deve ser realizada na base de dados transacional com o intuito de encontrar e/ou definir o atributo para o qual as previsões serão realizadas. Em suma, recomenda-se que o objetivo da classificação (atributo meta) esteja definido antes de iniciar os pré-processamentos para a transformação da base de dados transacional.
Os algoritmos de classificação possuem uma métrica comumente utilizada para avaliar sua acuidade, geralmente dada pelo percentual de acerto e de erro. Para realizar essa avaliação, a base de dados é dividida em duas porções distintas: a de treinamento e a de teste. A base de treinamento é utilizada para que o algoritmo aprenda com os dados, enquanto que a base de t ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.