Data Mining do SQL Server 2014 no Excel 2013

Fala galera, uma forma simples para se começar a trabalhar com mineração de dados é utilizar o Add-In de Data Mining para Excel conectado ao SQL Server. Para isso, basta baixar o Add-In, fazer a instalação e apontar para o servidor do SQL Server Analysis Services que você tenha acesso.

Para baixar o Add-In, acesse este link e escolha a versão x86 ou x64. No meu caso foi o x64.

Depois de fazer a instalação, o Wizard pergunta se quer abrir uma planilha de exemplos. Fique a vontade para abrir e ver o que tem para “brincar” de mineração de dados.

Abrindo esta planilha de exemplo ou não, é necessário vincular o Add-In do Excel com o seu SSAS. Para isso, vá até a Ribbon DATA MINING e clique no botão << No Connection >>.

Uma tela se abre pedindo para conectar no SSAS, clique no botão New e em seguida preencha os dados de autenticação ao seu servidor. Depois de configurado, a conexão aparece na lista da esquerda.

Por fim, o botão da Ribbon que estava com << No Connection >> já está alterado e apontando para o servidor que você configurou.

A partir de agora é possível trabalhar com mineração de dados de dentro do Excel.

1  

Atualizando o SQL Server Data Tools – SSDT – para o Visual Studio 2013 e controlando versionamento de código com TFS

Fala galera, como já havia feito com o SQL Server Data Tools (SSDT) 2012 para o SQL Server 2012 (que pode ser lido aqui), vou explicar como atualizar seu SSDT para a versão 2013 do Visual Studio, e também como colocar seu controle de versão com o Team Explorer 2013. Isso funciona independente do seu SQL Server ser o 2012 ou 2014. O que importa neste momento é a atualização da IDE de desenvolvimento para seus projetos de Business Intelligence.

A primeira coisa a ser feita é baixar o SSDT 2013, que tem por volta de 1GB de tamanho. Faça o download a partir desta página. Não se preocupe de aparecer X86 no nome, ele suporta tanto o x86 quanto o x64. Depois de terminado do Download, abra o arquivo .EXE e informe onde ele será descompactado. Quando terminar de decompactar, procure o Setup dentro da pasta. Abra e siga os passos de instalação.

 

Depois de instalado o SQL Server Data Tools 2013, é hora de baixar e instalar o Team Explorer, que possui 2 arquivos: um de 130MB e outro de 900Kb. Baixe ambos. Faça o download a partir desta página. Depois de baixar os arquivos, instale a partir do arquivo de 900Kb.

 

Quando terminar a instalação, abra o SSDT 2013 e vá até o menu TEAM e em seguida, Connect to Team Foundation Server…

 

Forneça os dados de autenticação, e a partir deste momento, tenha todos seus projetos disponíveis para baixar e trabalhar novamente.

 

Pronto, com estes poucos passos você pode ter seu ambiente atualizado e seu código versionado!

0  

Quero trabalhar com Big Data, como faço?

Fala galera, nestas últimas semanas mais algumas pessoas me perguntaram como fazer para aprender mais sobre Big Data e como entrar nesse ramo de trabalho aqui no Brasil. Bom, venho estudando e lendo sobre Big Data desde antes de entrar no time de especialistas da Microsoft em 2012, e continuo estudando esta área no Portal Minha Vida desde que saí da Microsoft. Pode-se dizer que consigo ter uma visão um pouco mais ampla do assunto hoje, do que quando ví o Hadoop no Keynote do SQL PASS Summit 2011 em Seattle/WA.

Por sorte, e interesse, acompanhei diversos eventos relacionados à Big Data dos principais players globais do mercado, tanto presencialmente quanto online, fosse no Brasil ou lá fora.

Infelizmente no Brasil a maioria dos eventos sobre esta ciência ainda apresentam soluções para se trabalhar quase que exclusivamente com Social Media, fica a impressão que Big Data se aplica somente à esta área e isso é uma grande falácia! Ignorar a aplicação em outros segmentos como Saúde, Transporte, Financeiro, Educação é manter uma visão rasa e superficial sobre o assunto. Inclusive falei sobre isso no evento de lançamento do SQL Server 2014, na Microsoft, e você pode ver os slides abaixo:

 

 

Uma coisa importante é entender o funcionamento e aplicabilidade desta tecnologia para seu cenário. Nem sempre uma solução implementada para um concorrente da sua empresa será aplicada fielmente à sua. Por isso o entendimento é bem importante.

As tecnicas que serão usadas para processar os dados, cruzar as informações, e analisar os resultados devem ser exploradas e ver o que melhor se aplica à sua necessidade. Usar o Hadoop com Hive e Pig pode resolver um problema, em uma outra necessidade pode-se adicionar o Mahout para trabalhar com aprendizado de máquina. Uma outra solução seria utilizar o Prediction IO ou até o Azure Machine Learning (quando for lançado, no próximo mês). As análises podem ser feitas no Excel pela facilidade que os usuários possuem em operá-lo. Mas também pode ser necessário ir para uma plataforma mais especializada para Data Science como o MatLab ou então para foco nos profissionais de estatística como o R. Enfim, cada aplicação deve ser entendida como um cenário novo, completo e complexo, e sua resolução precisa ser entendida como tal.

Caso queira ver um pouco o cenário sobre ferramentas Open Source para se trabalhar com Hadoop, assista esse vídeo sobre conceitos e ferramentas:

Conceitos e Ferramentas de Big Data

 

Outra necessidade que é bastante buscada para os profissionais que trabalham ou querem trabalhar com Big Data é o que os americanos chamam de Data Scientist. Este é o profissional que conseguirá analisar os dados estruturados e não estruturados, através de modelos estatísticos e matemáticos, para separar o “sinal” (informação útil) do “ruído” (informação desnecessária, ou sujeira). Este profissional é o novo talismã das empresas que querem minerar grandes volumes de dados.

Para se aprofundar nestes assuntos, existem alguns cursos online, de universidades e institutos renomados ao redor do mundo, que podem lhe dar mais uma base sólida e detalhada sobre este novo paradigma (várias pessoas usam esse termo, achei válido usar aqui também. rss) da área de exploração de dados. Veja uma lista de alguns deles:

A Caixa de Ferramentas do Cientista de Dados: https://www.coursera.org/course/datascitoolbox

Inteligência Web e Big Data: https://www.coursera.org/course/bigdata

Conceitos chaves da Análise de Dados: https://www.coursera.org/course/datan

Gerenciamento de Dados para Pesquisa Clínica: https://www.coursera.org/course/datamanagement

Análise de Dados: https://www.coursera.org/course/dataanalysis

Estatística. Compreendendo os Dados: https://www.coursera.org/course/introstats

Análise Exploratória de Dados: https://www.coursera.org/course/exdata

Obtenção Limpeza de Dados: https://www.coursera.org/course/getdata

Métodos computacionais para Análise de Dados: https://www.coursera.org/course/compmethods

Caso tenham alguma dúvida, ou sugestão sobre o assunto, fique a vontade para comentar aqui no blog…

Bons estudos e análises!!!

2  

Aprendizado de Máquina – Azure Machine Learning

Fala galera, hoje (16/Junho) a Microsoft anunciou o Azure Machine Learning, a oferta para trabalhar com Aprendizado de Máquinas diretamente dentro do Azure. Mesmo com o anuncio de hoje, a ferramenta só estará disponível para teste a partir de 14/Julho.

Como o foco da Microsoft é estar cada vez mais estar presente em soluções de nuvem, esta nova feature do Azure é altamente importante. Também faz todo sentido para os negócios que se baseiam em Big Data, visto que algoritmos de Machine Learning precisam de dados para realizar suas análises preditivas. Quem encabeçou este projeto na Microsoft é Joseph Sirosh, que estava a 8 anos na Amazon e veio pra Microsoft à pedido do novo CEO, Satya Nadella, em Outubro/2013.

Veja o que dá pra fazer, já legendado em ptBR.

Microsoft Azure Machine Learning

 

Ainda não tenho detalhes de quais algoritmos de aprendizado de máquina está por trás do Microsoft Azure Machine Learning, nem qual é o tipo de aprendizado que está sendo suportado. Mas não vejo a hora de chegar logo 14/Julho para poder brincar com alguns dados e ver o resultado.

1  

Data Mining com SQL Server 2014

Fala galera, Data Mining é uma área de pesquisa atrelada à Ciência da Computação, mais especificamente à Inteligência Artificial, com muita influência de Estatística e Matemática. No SQL Server existem alguns (9, pra ser exato) algoritmos implementados nativamente que permitem analisar e aplicar estas técnicas de Mineração de Dados.

A idéia deste post é mostrar e explicar os tipos de algoritmos existentes na nova release do SQL Server 2014, e em posts seguintes serão criados exemplos práticos com cada um destes algoritmos.

Olhando pro lado acadêmico Data Mining é estudado na matéria de Inteligência Artificial, onde é possível, através de modelos matemáticos e estatísticos, retirar informação útil da massa de dados que está sendo analisada. Este estudo puxa um gancho para os métodos de pesquisa ciêntifica, onde é necessário entender o que são variáveis dependentes e independentes; O que é uma informação preditiva; O que são métodos estocásticos… Estes termos ficam transparentes para os usuários avançados de Mineração de Dados, mas pra quem está começando a olhar pra estes termos só agora, é importante saber o que é cada um e onde serão utilizados dentro desta ciência maluca!

Pra começar, vamos entender o que cada algoritmo faz, e onde podem ser aplicados no SQL Server 2014.

image

 

Association Rules (REGRAS associativas)

Este algoritmo é usado para os “carrinhos de compras”, onde o algoritmo define um item à partir da combinação deste ítem com outros na transação. O algoritmo percorre a base de dados à procura deste item e faz uma contagem das aparições. Este algoritmo retorna itens que aparecem associados ao item que foi procurado. Você deve usar este algoritmo em oportunidade de cross-selling, para recomendação de novos produtos ao usuário. É como aqueles produtos que aparecem nos e-commerces quando você está fechando uma compra e o site diz: “Pessoas que compraram o produto ABC, também compraram XYZ”.

Clustering

Algoritmos de Clustering agrupam itens da base de dados analisada dentro de grupos que possuam caracteristicas similares. Com os clusters criados é possível explorar e entender os relacionamentos entre os dados. Este tipo de algoritmo permite analisar o universo de dados e encontrar itens que não seguem um padrão. Este item que está fora dos padrões pode conter algo especial, que merece uma atenção extra. Pode ser um comportamento que lhe dá insights para navegar em novos mares, ou então pode ser uma tentativa de fraude.

Decision Trees (árvore de decisão)

O mais comum, e também o algoritmo padrão na tela de Wizard do Data Mining no SSAS 2014. A árvore de decisão permite uma análise preditiva discreta com uma variável contínua. O resultado é fácil de entender, seguindo a expansão a partir das separações realizadas na raíz, passando às ramificações e finalmente chegando às folhas. Quando o algoritmo analisa aquele grupo (o grupo pode ser uma coluna do database) e divide em ramificações, é possível encontrar facilmente o melhor resultado.

Linear Regression (regressão linear)

A regressão linear é um algoritmo que trabalha apenas com variáveis contínuas e preditivas. É praticamente como a árvore de decisão, mas sem as separações das colunas em raiz, ramificação e folhas.

Logistic Regression (regressão logistica)

Este algoritmo também é uma simples árvore de regressão, como uma rede neural, mas sem nenhuma camada intermediária escondida.

Naïve Bayes

A partir de cada estado preditivo do parametro de entrada, a Naïve Bayes calcula as possibilidades para cada um destes inputs. Você pode utilizar estas probabilidades para definir os objetivos preditivos, com base nas entradas. Como é um algoritmo relativamente simples, a montagem do modelo é bem rápida.

Neural Network (rede neural)

Este algoritmo é o mais próximo da área de Inteligencia Artificial, simulando um cérebro humano, com seus neurônios e sinapses. A rede neural é utilizada para encontrar funções lineares dependentes, através de métodos não lineares intermediários (que podem estar escondidos). Pela complexidade de interpretar algoritmos lineares, como árvore de decisão, este algoritmo não é tão amplamente utilizado para encontrar dependencias lineares.

Sequence Clustering

É o algoritmo mais usando quando é necessário encontrar correlação baseada em similaridade. Este algoritmo cria uma matriz combinando todos os estados conhecidos e então cria as arestas (arcos) de relacionamento entre estes estados. Com isso, é possível calcular probabilidades de ocorrências baseada em sequências, elos, transições, etc. Cada nó do cluster representa um item significativo desta matriz, e seus relacionamentos com outros itens significativos. É uma “extensão” ao algoritmo de clustering.

Time Series (séries temporais)

Algoritmo de séries temporais são usados, em sua maioria, para criação de forecast. Internamente são usados 2 algoritmos: ART – Auto-Regression Trees, e ARIMA – Auto-Regressive Integrated Moving Average. A utilização de um algoritmo interno ou outro é baseado na necessidade, seja para um termo curto ou longo de forecast, respectivamente.

 

Bom, agora que já se sabe, por cima, o que cada algoritmo faz, vou aplicar estas técnicas de Mineração de Dados com exemplos práticos e possíveis resultados em cada um deles.

1