47
Rob Ranches [email protected]. br Microsoft MVP – SQL SERVER Introdução à mineração de dados

Rob Ranches [email protected] Microsoft MVP – SQL SERVER [email protected] Introdução à mineração de dados

Embed Size (px)

Citation preview

PowerPoint Presentation

Rob [email protected] MVP SQL SERVERIntroduo minerao de dados

Linhas GeraisGeralmente visto em curso de estatsticaAmplo e vasto material terico na WEBOpo nessa disciplina por um modelo prtico e funcionalVrias ferramentas no mercado optamos nesse curso pelas ferramentas da Microsoft constantes do SQLOs clientes a serem usados sero Excel com plugin de Minerao primordialmente, depois Analysis Services e potencialmente Reporting ServicesOutline do CursoAula 1 Introduo Minerao de dados e exibio de modelos bsicosAula 2 Uso do Cliente Excel e suas funcionalidades observando os algoritmos existentesAula 3 Algoritmos adicionais no Excel e RevisoAula 4 Minerao de dados no Analysis Services e modelos temporriosAula 5 Modelos Adicionais no Analysis ServicesAula 6 Modelos Adicionais no Analysis ServicesAula 7 Funcionalidades Extras e AvaliaoParte 1 Linhas Gerais e conceitos bsicosO que minerao de dados ?Exemplos bsicosOnde usado ?Modelos bsicos a serem usados no cursoComo funciona um ciclo de minerao de dadosFerramentas MicrosoftConceitos bsicos de mineraoO que Data Mining? Exemplos do dia a dia

?O que no Data Mining?Ad-Hoc QueryNotificaes de eventosMultidimensional Analysis/Slice DiceEstatsticasOLAPRelatrios

O que Data Mining?Data mining a semi-automatica extrao de padres, mudanas, associaes, anomalia e outras estruturas estatisticamente significantes de grandes data sets. R. Grossman

Antes conhecido comoMachine LearningPredictive Analytics

Tipos de Anlises ExistentesQuery-Reporting-AnalysisO que aconteceu?Relatrios SimplesKey Performance Indicators - KPIOLAP Cubes Slice/DiceTempo real - O que esta acontecendo?Events/Triggers

Data MiningO que acontecer?Como/Porque aconteceu?Como pode acontecer diferentemente?

Exemplos prticosComputerFleet (Australia): Determinar quando equipamentos alugados retornaro e comoSanford Securities (Australia): Automao via DMClait Health Services: Identificar pacientes com tendncia a doenas degenerativas e trat-losAIM Healthcare: Identificar erros de pagamento, pagamento duplicado, padres de atraso, etcExemplos prticosSegmentar os clientes que compram o produto A e determinar que produtos possivelmente comprariam junto de produto AValidar conjunto de Dados (nome + idade + hbitos de compra ) para determinar riscos e possveis fraudesCriar navegao de forma dinmica em um site baseado nos hbitos de navegao e busca de um grupoTarefas do Data Mining

Explorar Seus dados

EncontrarPadres

EfetuarPrediesTarefas do Data MiningMining ModelDMEngineData P/ predioDMEngineDados previstosTraining DataMining ModelMining ModelColocando Data Mining Para trabalharFazendo Data Mining

Entender o negcio

Entender os dados

Preparar os dados

Modelagem

Validao

InstalaoDataProcessod do Data Mining CRISP-DMwww.crisp-dm.orgParte 2 - Usando o Excel e o Excel Plugin conectados minerao de dados

Efetuando anlise dos data setsEntendendo o potencial das ferramentas e da mineraoUsando as anlises pr-construidasTratando novos dadosPr-requisitos / ConfiguraoServidor SQL 2008 R2Add In para Excel a partir do 2010, x86 ou x64 na linguagem do ExcelInstalar PluginHabilitar Plugins no ExcelNo menu do grupo de Programas de Minerao selecionar o configurador de ServidorTer permisso de ADM no Analysis ServicesServio de Browser rodando Habilitar a criao de modelos temporrios no WizardAbrir a planilha de Exemplo, deve aparecer dois menus Anlise e Data Mining. No aparecer ir em complementos e habilitarClicar na Barra de menu e efetuar uma conexo para o modelo temporrio criado no passo anterior

Modelos TemporriosCriados na memria , sem persistncia.Existem apenas na sesso do ExcelDependem do wizard e do modelo TEMP do servidor de anlise configuradosUsam os modelos no Background para suas tarefas essenciaisNo permitem configurar os modelos amplamente, leque pequeno de opes.Key InfluencersExplica como valores em colunas distintas influenciam valores numa coluna alvo ou em uma coluna selecionada.Naive BayesDiscretizaoObservar retirar campos como chave e/ou frmulas do Excel (colunas calculadas)Varivel alvo em relao a todas as outras selecionadas no primeiro wizard, grupo em relaao a grupo no segundo wizardFiltro permite anlise sumarizadaImpacto Relativo dentro do Grupo apenas e no entre gruposGrupo A em relao ao B ir eliminar um item que seja comum a ambos (por exemplo ambos dentro da mesma faixa de renda)Segundo passo em um dataset novo pode ser essa opo.

Usar a Planilha - Table Analysis Tools SampleDeteco CategoriasEncontrar grupos com caractersticas similaresHeursticaClustering / SegmentationNmero de Clusters / Auto DetectSignificado dentro do Cluster somenteLabelsPode conter elementos em outros clusters, mas sempre em ordem de importncia dentro do cluster so agrupados os elementosGrfico das categorias tem as cores proporcionais e no os valores absolutos das contagens de caso.Coluna adicional na tabela de origem

Usar a Planilha - Table Analysis Tools Sample

Fill from ExampleExtenso do auto fill do ExcelMicrosoft Logistic RegressionPreencher dados faltantes analisando dados existentes e observando os padresHeurstica para determinar quem est vazioDetermina pesos para cada caso no set preenchido, cria nova coluna com o preenchimento e um resumo das caractersticas para cada caso, se o peso for maior pela soma de itens de importancia X entao ele ganha o label correspondenteCria resumo das caractersticas de cada grupoPermite interao mudando valor de grupos/colunas com comportamento conhecido

Usar a Planilha -> Fill From ExampleForecastMicrosoft Time SeriesAvaliao de tendncias, periodicidades (sazonabilidade) e relaes cruzadas em sries numricasTendncias - direo da evoluo de uma srie que seja durvel , ex: valore ao longo do tempo, ascendente ou descendentePeriodicidades Intervalos regulares onde um evento ocorre, por exemplo vendas ao final de um anoRelaes cruzadas / correlaes dependncia entre valores de duas sries, por exemplo valor do agronegcio correlacionado com aumento ou decrscimo da produo de sojaTem que ser numrico e no vazio (trocar por 0 )Heurstica usando distinct para marcar as colunas candidatasAlgumas caractersticas s existem com a verso Enterprise do SQLAnalisar o grfico observando picos a cada x meses e tambm as linhas pontilhadas projeesDica - Caso voc tenha uma tabela orientada por linhas, use o recurso do Excel Paste Special Tranpose

Usar a Planilha -> Forecasting

Exception ToolEncontrar as agulhas no paieiroMicrosoft ClusteringTudo que diferente dos padres existentes, ou seja, tudo que for distante dos clusters existentes.Use para achar valores errados, vazios, digitaes porcas, erros de sistema , de bancos e corrigi-los ou exclui-losPrimeiro passo em um dataset novo potencialmente essa ferramentaExcluir colunas que podem potencialmente apresentar erros como chaves e texto livre, ao desmarcar qq coluna essa no ser analisada na deteco de errosEtapas Analisa e determina padres,Compara todas as linhas com os padres e marca as excees, Para as linhas selecionadas encontra as colunas que so as excees e marcaConta por coluna o nmero de excees encontradasThreshold 0 a 100 determina a quantidade de excees a ser marcado, o corte que vc. busca , (experimente usar 0)Auto evaluate baseado em sort, calculos, alteraoes, no permite incluses, um objeto temporrio que existe apenas na sesso do Excel. Fechou, acabou.

Exercicio 1 - Retirar a coluna categoriaExerccio 2 - Excel Sort By Color, Exerccio 3 - Menu data opo SORTExerccio 4 - Alterar salrio para valor absurdo ou para 0

Usar a Planilha -> Table Analysis Tools Sample

Scenario Analysis ToolMicrosoft Logistic RegressionSe um carro anda a 100km por hora, em 2 horas quanto ele andar ?Problemas de simulao, expanso das ferramentas do Excel (Solver)Detecta padres e fornece respostas para as duas perguntas abaixoWhat if analysis (e se) & Goal Seek (Buscar Metas)Cuidado !!! Responde qualquer coisa, mesmo que no faa sentidoDois termos chaves Provvel e Mais provvelServer IntenseGrau de Confiana

Usar a Planilha -> Table Analysis Tools Sample

Goal SeekQual o valor na coluna X, para que a coluna Y tenha o valor de ZApenas para valores j existentes, ex: ( Sim / No,) ex2: 10% a mais do valor topo no encontra soluo.Pode ser demorado e exigir muita interaoLinha / Tabela para os resultadosEx1 Cel 15, Bike Buyer = Yes, Commute DistanceEx2 Cel 16, Bike Buyer = Yes, OccupationEx3 cel 15, Income = 150% , EducationEx 4 toda tabela, Bike Buyer = Yes, Commute DistanceTabela toda Quem j Yes continua, quem tem resposta = NO mas commute Distance = sugesto vira YESSelecionar colunas relevantes, responde qualquer coisa.

Usar a Planilha -> Table Analysis Tools Sample

What if AnalysisQual o impacto ocorre se eu mudar o valor da coluna A para X, na coluna BSe o cliente tiver x filhos o que acontece com a probabilidade de comprar bicicletas ?Se eu mudar o nivel educacional do meu cliente para Bachelors ele comprar uma bicicleta ? Com que confiana ? Filtrando s quem Bachelor o que voc v ?Confiana indica a confiana da simulao efetuada no resultado previsto, Se a maior parte das clulas analisadas comparadas com o que voc fornece tem SIM o grau de confiana maior relativamente ao nmero de clulas, fugindo da distribuio de 50% a 50% , ou seja baixa confiana, sempre em relao ao conjunto de dados

Usar a Planilha -> Table Analysis Tools Sample

Prediction CalculatorLogistic RegressionSimilar ao Key Influencers mas ao invs de filtrar resultados fracos, atribui um valor a todos os elementosPode somente prever valores binrio, Estado 1, Estado 2Dica -> Selecione RANGE, VALOR EXATO quando os conjuntos forem grandes e numricosDashboard Scorecard Pesos Nota de CorteMaximizao de Lucro Falsos/Verdadeiros Positivos / NegativosEx Callcenter contatos / Pacientes de Alto Risco em hospitais3 saidas, 1 simulador, um dashboard, um para imprimirRoda sem necessidade de um servidorGrafico 1 Plota Lucro x Score, Grafico 2 Custo x ScoreUsar Planilha -> Table Analysis Tool SampleShopping Basket Cesto de comprasMicrosoft Association RulesProduto A -> Produto B, nem sempre a recproca verdadeira.Analisar grupos de produtos, palavras, casos que executam uma ao (vendas, visitas) juntos e detectar oportunidades adicionais de agrupamentoSempre em funo de Transaes 1 para NPrecisar sempre de um ID de transao / cliente um quantificador preo por exemplo e o nivel de agrupamento, produtos, categoria de produtos, etcParametros Minimum Support Nmero Mnimo de casos, Minimum Rule, dentro de um grupo x, qual o percentual minimo para que ocorra um bundle.Overall value of linked sales = Soma do valor total das transaoes RECOMENDADASAverage Values of recommendation = Overall / Numero de transaes contm o recomending - Indica a mdia de ganho em vender o produto B para quem j compra o A

Usar a planilha -> AssociateNovo DatabaseUsar as ferramentas da etapa anterior para descobrir relaes existentes nos dadosUsar as ferramentas de limpeza explorar, limpar, amostras para tratar um novo databaseCom o uso dessas duas ferramentas observar o modelo de negcio e as metas pretendidasEscolher o(s) modelo(s) de minerao.ExcelConectar dados de outros datasourcesUsar todas as ferramentas disponveis do Excel para adicionar colunas, classificar, sorts, somas, mdias, etc..Fazer carga de bulk dados usando outro add-in que o Power PivotObservar que no h UNDO para plugins do Excel

Explore DataUsar quando for conveniente trabalhar com faixas de valores ao invs de dados crus, exemplo, faixa etriaDiscretizar os dadosBuckets = nmero de gruposAdd new Colum = adiciona coluna na planilhaCopy Chart = gera uma imagemOBS Roda exclusivamente no cliente do Excel

Usar Planilha -> Planilha5.xls Aba -> CustomersClean DataDetecta OutliersValores que so muito grandes ou pequenos que podem distorcer a anlise ou que so irrelevantes, ex: moradores de SP x moradores de Piracicaba analisando que mora perto do empregoThreshold -> mnimo de casosCom os valores obtidos, voc pode : Mudar valor para : / Apagar / Inserir NulosPara valores numricos, cortar os limites inferior / superior, exemplo renda por cargos, os dois limites podem prejudicar a anliseMax / Minimo / ResoluoRe-label dataPara mudar Doutor para Dr., padronizando as colunas por exemploPara reclassificar uma coluna, exemplo tenho 10 grupos de nivel educacional, quero apenas 5

Usar Planilha -> Planilha5.xls Aba -> CustomersOBS Roda exclusivamente no cliente do Excel

Sample DataRebalancingSelecionar uma coluna Alvo e o estado da colunaExemplo, base de fraudes, as fraudes no so frequentes (0.2%) portanto necessrio ajustar o algoritmo para que ele observe os dados circundantes ao valor ALVO.Cuidado ao observar bases rebalanceadas, elas podem apontar para dados potencialmente diferentes !!!

Random SampligEfetuar cortes do database com objetivo de analisar as bases e gerar sets menores para testes, treinamentos e observaes. Sero geradas 2 saidas, em % ou em contagem de linhas

Usar -> planilha5.xls, Aba -> CustomersAes rodam no server.Correlao de modelos e algoritmos usados nos pluginsAba Anlise do ExcelAba Minerao de Dados do Excel Algoritmo(s) do Analysis Services ClassifyDecision TreesFill From Example / Prediction CalculatorLogistic RegressionKey InfluencersNave BayesNeural NetworksEstimateDecision TreesLinear RegressionScenario Analysis Tool (Goal Seek, What if AnalysisLogistic RegressionNeural NetworksDetect Categories / Exception ToolClusterClusteringForecastForecastTime SeriesShopping BasketAssociateAssociation RulesPARTE 3 Minerao de Dados usando Excel e Analysis ServicesPlugin Excel Data Mining

Classificar - ClassifyEstimar - EstimatePrever - ForecastAssociar - AssociateAgrupar Cluster

Analysis Services Mining ModelsConceitos BsicosAtributo sexo, idade , alturaTipos de Atributo Categorico (discretizado ex, Formao Acadmica) / Continuo = Valor da RendaOrdenados, cclicos, discretizados (tamanho camisetas, faixa etria)Quanto mais atributos, mais casos so necessrios para as correlaes entre atributos.Estado = possveis valores de um atributo, por exemplo casado / solteiro, compra ou no compraMissing state = Estado novo ainda no visto pelo algoritmo, no SQL automticoCaso = Uma linha completa de dados, ou a soma dos atributos relevantes (em colunas distintas ) para o que se quer descobrir , um conjunto de atributos e todos os seus valoresRegra do annimo, exemplo das cidades x crimeChaves = KeysCase Key = geralmente as chaves dos databases, identificador nico do caoNested = Chave de tabela correlacionadaConceitos Bsicos 2Input / Output - Depende do algoritmo, colunas que sero usadas como input E como output, colunas que alimentam os algoritmos e geram as sadas. Analisadas modelo a modeloDMX linguagem genrica multi-plataforma para queries em modelos estatsticos Estrutura de Minerao (mining structures ) Descrio do problema e seus objetos, todas as colunas, algoritmos usados, dados de exemplo, instrues de processamento eventualmente vinculos com os datasourcesModelo de Minerao Algoritmo ou estrutura que transforma os dados em um caso e suas correlaesTreinar Processar um modelo ou um subset dos dados

Excel Add in de Minerao de Dados, tasksClassify Identifique a coluna Alvo ( o que voc quer classificar ) e as colunas usadas como inputEstimate Especifique a coluna alvo ) e as colunas de input e tambm os regressores , ou seja quais colunas NUMERICAS sero usadas nas frmulas de regresso para estimar o valor alvo.Cluster Agrupar identifique as colunas e o nmero de grupos que quer gerar Forecast Identifique quais colunas usar indicando o tempo e os valores a serem usadosAssociate Indicar uma coluna de id unico e com o que quer associar (outras colunas)

O plugin do Excel apenas limitado nas nested tables. Todo o restante existente no Analysis Services Data Mining existe no Add in.

Colocando Data Mining Para trabalharFazendo Data Mining

Entender o negcio

Entender os dados

Preparar os dados

Modelagem

Validao

InstalaoDataProcessod do Data Mining CRISP-DMwww.crisp-dm.orgAlgoritmos e funcionalidadesAlgoritmos encontrados no Microsoft SSAS, pode ter outros nomes ou outras tradues em diferentes forncedores, fabricantes ou publicaesDecision Tree usar para prever a compra de um produto baseado em caractersticas do cliente, ou para quais clientes oferecer o produto X

Regresso Linear verso mais simples das rvores de decises, usando sempre inputs continuos, sem quebras na sua rvore, use para computar por exemplo, um tendncia de vendas.

Nave Bayes - Bom para calcular probabilidades , por exemplo a chance de um cliente retornar uma mala direta, a probabilidade de algum pegar uma doena de uma zona de risco de contgio

Redes neurais combina os atributos de entrada com as os atributos de predio avaliando as probabilidades entre eles. Use quando houver um relacionamento complexo entre os atributos, por exemplo uma previso de estoque.

Regresso Logisticas similar as redes neurais, efetua um atributo em relaao a um conjunto de outros, por exemplo, se um cliente ser um cliente que volta a loja, ou se um criminoso sera reincidente

Clusters Agrupamentos / Conjuntos similar arvore de deciso agrupa atributos e estabelece limites entre os grupos. Otimo para detectar fraudes ( estando longe dos valores dos clusters)

Clusters em sequencia similar ao cluster porm o algoritmo agrupa sequencias de eventos que so similares, por exemplo padro de navegacao em sites, sequencia de eventos que levam erros na produao

Regras de Associao - Observa itens que so combinados em uma determinada frequencia Use para cesto de produtos, comorbidade de quadro clinicos, defeitos comuns de produtos

Forecast Usado para projetar valores continuos ao longo de um tempo, por exemplo fluxo de caixa para os proximos x meses.

Tarefas do Data MiningQue tipo de carto de compras devo oferecer ?Quais clientes respondero ao meu email ?Esta transao fraudulenta?Perderei este cliente ?O produto ter defeitos?Porque meu sistema est falhando? A sade de quais pacientes iro piorar ?Classificao

Tarefas do Data MiningQuanto de lucro esperar deste cliente ?Durante quanto tempo este bem estar em servio?Qual a mdia de falha em horas ?

Estimativas

Tarefas do Data MiningDescreva meus clientesComo posso diferenciar meus clientes?Como organizar meus dados de forma que faam sentido?Este registro pertence a padres internos ou externos?Segmentao

Tarefas do Data MiningQue itens so comprados juntos?Que servios so usados conjuntamente?Que produtos devo recomendar a um grupo especfico de clientes?Associao

Tarefas do Data MiningQuais as vendas projetadas para todos os produtos e linhas prximos x meses/anos/dias?Quais os nveis de estoque do prximo ms?Forecasting Previso

Tarefas do Data MiningAnlise de dado no estruturadoEncontre termos chaves repetidosConverter em dados estruturadosAlimentao de outros algoritmosClassificaoSegmentaoAssociaoComo cuido dos dados do call center?Como classificar e-mail?O que posso fazer com feedbacks ?Anlise textual rodam no Integration ServicesTerm Extraction Transform Term Lookup Transform

Por enquanto somente suporta gramtica inglesa

Duvidas ?Contatos /eventuais bugs, [email protected]