Tabela Resumo - Data Science
Tabela Resumo - Data Science
Tabela Resumo - Data Science
DBSCAN O DBSCAN é um algoritmo baseado em densidade que faz clusters para regiões densas de pontos. Há também um novo O DBSCAN não assume clusters globulares e seu desempenho é escalável. Além O usuário deve ajustar os hiperparâmetros 'epsilon' e 'min_samples', que definem - EPS: distância máxima entre duas amostras para ser considerada como na vizinhança da outra. NÃO é um limite máximo para as
desenvolvimento recente chamado HDBSCAN que permite clusters de densidade variável disso, ele não exige que cada ponto seja atribuído a um cluster, reduzindo o ruído a densidade dos clusters. O DBSCAN é bastante sensível a esses hiperparâmetros distâncias de pontos dentro de um cluster.
dos clusters (isso pode ser um ponto fraco, dependendo do seu caso de uso) - min_smaple: número de amostras (ou peso total) em uma vizinhança para um ponto a ser considerado como ponto central.
Hierárquico / Aglomerativo O clustering hierárquico, também conhecido como clustering aglomerativo, é um conjunto de algoritmos baseados na mesma A principal vantagem do agrupamento hierárquico é que os clusters não são Assim como o K-Means, o usuário deve escolher o número de clusters (ou seja, o
ideia: (1) Comece com cada ponto em seu próprio cluster. (2) Para cada cluster, mescle-o com outro baseado em algum critério. considerados globulares. Além disso, ele se adapta bem a conjuntos de dados nível da hierarquia para "manter" após a conclusão do algoritmo)
(3) Repita até que apenas um cluster permaneça e você fique com uma hierarquia de clusters. maiores.
Associação / Segmentação - determinar que coisas estão relacionadas, juntas. - Prateleiras de mercado Apriori Tipo de variável: Categórica
- Promoções de itens que são vendidos juntos
- Planejar catálogos de lojas e folhetos de promoção
- Controle de evasão em universidades
Detecção de Desvios - encontrar conjunto de dados que não obedecem ao - Fraudes em cartão de crédito xxxx
comportamento ou modelo de dados - Intrusão em redes
- detectar mudanças de comportamento, - Consumo de energia elétrica, água, telefone
comparando ações com padrões - Desempenho de atletas (doping)
- encontrar os OUTLIERS - Monitoramento de máquinas
xxxx
Padrões Sequenciais - utiliza algum tipo de padrão nos dados para - Livraria, lojas de equipamentos de atletismo, computadores (se xxxx
determinar que tipos de sequências podem ser uma pessoa compra determinado livro e depois de x tempo,
determinadas. compra outro)
- Clientes que compram celular, 3 meses depois compram um
carregador para o carro
- Prevenção de doenças (sintomas acontecem sequencialmente até
uma doença mais grave xxxx
- Navegação em sites (qual a sequencia de cliques)
Supervisionado - dados rotulados Classificação - Na classificação vc tem rótulos (lables) - Marketing Direto (esse cliente vai comprar ou não?) Análise de vizinhança baseado em distâncias - técnica de pesquisa, não de conhecimento. Ex.: estimar renda de um indivíduo pesquisando k=20 vizinhos mais próximos com Esses algoritmos consomem muita memória, têm um desempenho ruim para [ SKLearn - pacote: neighbors | função: KNeighborsClassifier ] Distância Euclideana: ideal utilizar para variáveis numéricas. É uma distância simétrica e trata todas as dimensões iguais. Ponto
- temos uma variável target - Insatisfação de Clientes (não satisfeito, neutro, satisfeito?) (k-Nearest Neighbor) - KNN geométrico mesma informação de profissão, escolaridade, idade. O problema é que precisa existir um registro suficientes de atributos para dados de alta dimensão e exigem uma função de distância significativa para fraco é a sensibilidade a outliers.
[ Preditivo ] (variável de saída - Y) - examina certa característica dos dados e atribui uma - Risco de crédito (risco alto, médio ou baixo?) [parametric] determinar uma vizinhança calcular a similaridade. Na prática, treinar regressões regularizadas ou conjuntos também existe o KNN para Regressão, função: KNeighborsRegressor
- prever saída classe. Categorizar vaores. É um processo de - Filtros de spam (é email propaganda ou não?) - algoritmo não-linear de árvores são quase sempre melhores usos do seu tempo. Distância de Hamming: opção para atributos categóricos.
Discriminação ou Caracterização. Ex. Discriminação = - Separação de notícias (esporte, política, lazer?) Tipo de Variável: Categórica - os dados devem estar normalizados antes de aplicar o algortimo Se valor de K for muito alto, pode resultar num modelo com baixa precisão. Se for muito
[ task driven ] itens de um supermercado como higiene, vestuário, - Reconhecimento de voz / face (pertence apessoa a, b, c?) baixo, pode ser muito sensível a utliers. Ainda tem distância de Minkowinski e Manhattan.
alimentício, etc; Ex. Caracterização = pela faixa - Previsão de doenças (vai desenvolver ou não uma doença?) Com Manhattan é possível dar pesos às dimensões.
- inferir resultados a partir de salarial, entre baixa, média e alta.
padrões encontrados na análise > Vai chover hoje?
descritiva - muitos algoritmos de regressão têm contrapartidas > A criança está com pneumonia?
em classificação. Os algoritmos são adaptados para > Nesta imagem tem uma pessoa?
- sempre que o algoritmo é prever uma classe (ou probabilidades de classe) em > O aluno vai deixar a faculdade?
"treinado" sobre um conjunto de vez de números reais.
dados históricos contendo entradas Naïve Bayes [statistical classifier] - Naive Bayes (NB) é um algoritmo muito simples baseado em probabilidade condicional e contagem. Essencialmente, seu modelo Embora a suposição de independência condicional raramente seja verdadeira, os Devido à sua simplicidade, os modelos NB são frequentemente superados por [ SKLearn - pacote: naive_bayes | função: GaussianNB ]
e saídas > O que é isso? é, na verdade, uma tabela de probabilidades que é atualizada através de seus dados de treinamento. Para prever uma nova modelos de NB na verdade apresentam um desempenho surpreendentemente modelos devidamente treinados e ajustados usando os algoritmos listados. 3 algorítmos no SKLearn:
> 0 ou 1; A ou B; sim ou não Tipo de Variável: Categórica observação, você simplesmente "procuraria" as probabilidades de classe em sua "tabela de probabilidade" com base em seus bom na prática, especialmente por serem simples. Eles são fáceis de implementar Não funciona bem com muitas variáveis numéricas. - Gaussian: considera que os dados estão contínuos numa distribuição normal
valores de recurso. e podem ser dimensionados com seu conjunto de dados Espera que as variáveis preditoras sejam independentes. - Multinomial: para contagem de variáveis discretas (bastante usado tb para
- Pode ser two-class (binomial), como o exemplo - É chamado de "ingênuo" (naive) porque sua suposição central de independência condicional (ou seja, todos os recursos de Bom com variáveis categóricas. processamento de linguagem natural)
acima ou multi-class. entrada são independentes um do outro) raramente é verdadeira no mundo real. Provê probabilidade de um resultado. - Bernoulli: se o vetor de dados target for benário e também recomendado para
- Uma das formas de medir a performance é pelas O modelo armazena a probabilidade condicional da variável target para cada possível valor das variáveis preditoras. Bom para previsões: multi-classes; classificação de texto; análise de sentimento; variáveis discretas
taxas de classificaçõe incorretas. Pode-se visualizar filtragem spam; previsões em tempo real; sistemas de recomendação
isso com uma matriz de confusão.
Redes Neurais
Árvore de Classificação As árvores de classificação são as contrapartes de classificação das árvores de regressão. Ambos são comumente referidos como Como na regressão, os conjuntos de árvores de classificação também apresentam Árvores individuais, sem restrições, são propensas a overfitting, mas isso pode ser [ SKLearn - pacote: tree | função: DecisionTreeClassifier ]
"árvores de decisão" ou pelo termo "classification and regression trees" (CART) um bom desempenho na prática. Eles são robustos a outliers, escaláveis e capazes aliviado por métodos conjuntos.
É um algoritmo não-linear. Cada atributo e cada valor de atributo são avaliados com objetivo de reduzir a função de custo. de modelar naturalmente limites de decisão não lineares graças à sua estrutura Também há para Regressão> DecisionTreeRegressor
hierárquica. Fácil de interpretar e funciona com valores missing.
Adaptive Boosting O método que este algoritmo usa para corrigir seu antecessor é prestando mais atenção às instâncias de treinamento não
ajustadas pelo modelo anterior. Assim, a cada novo preditor, o foco será, a cada vez, nos casos mais difíceis.
Gradient Boosting combina o aprendizado fraco (também conhecido como base de aprendizagem) para formar uma regra forte. Combina os Mais importantes:
resultados da aprendizagem fraca e cria uma aprendizagem forte que eventualmente melhora o poder de predição do modelo. O - n_estimators: Número de árvores de regressão
‘boosting’ foca mais em exemplos que são mal classificados ou que têm mais erros por serem precedidos por regras fracas. - max_depth: profundidade de cada árvore
Funciona adicionando, de forma sequencial, os previsores prévios às previsões do conjunto, garantindo que os erros cometidos - loss: loss function ou função de erro
anteriormente sejam corrigidos.
Ao contrário do AdaBoost, que ajusta os pesos da instância em cada interação, este método tenta ajustar o novo preditor aos erros
residuais feitos pelo preditor anterior.
Regressão - Na Regressão vc tem números - Quanto vou ter de venda, baseado nos gastos com propaganda? Árvore de Decisão baseado em procura (lógico) - sua utilização recomenda o treinamento do método utilizando várias amostras de dados. Outra decisão é quantas sub-árvores pode aprender relacionamentos não-lineares e é bastante robusto para outliers. as árvores individuais são propensas a overfitting porque podem continuar [ SKLearn - pacote: tree | função: DecisionTreeClassifier ]
- Qual será a velocidade do vento, baseado na temperatuda, (regressão e classificação) (particionamentos) terão até parar. Os conjuntos funcionam muito bem na prática, vencendo muitas competições de ramificando até memorizarem os dados de treinamento. No entanto, isso pode
- Cada registro pertence a uma classe e possui umidade e pressão? Tipo de variável: Contínua - aprende de forma hierárquica, dividindo repetidamente seu conjunto de dados em ramificações separadas que maximizam o aprendizado de máquina clássicas (ou seja, sem deep learning) ser aliviado usando conjuntos - talvez seja bom transformar algumas variáveis contínuas em categóricas
conjunto de atributos previsores - Qual será o valor do dólar, baseado nos fatores externos? ganho de informações de cada divisão. Essa estrutura de ramificação permite que árvores de regressão aprendam naturalmente
- Qual probabilidade de um paciente sobreviver, baseado nos relacionamentos não-lineares pode ser usado para identificar as variáveis mais relevantes do conjunto de dados. - cost: pode pensar em colocar pesos para os erros tipo I e tipo II , penalizan
- Descobrir relacionamento entre atributos previsores resultados do exame? - Os métodos de conjunto, tais como Random Forest (RF) e Gradient Boosted Trees (GBM), combinam predições de muitas árvores
e atributos meta - Qual o risco de investimento, baseado num perfil do projeto? individuais. Na prática, os RFs costumam ter desempenho muito bom, enquanto os GBMs são mais difíceis de ajustar, mas tendem
(aqui, ao invés de um rótulo, será um número, como porcentagem a ter tetos de desempenho mais altos.
- Valor do atributo meta é conhecido (aprendizagem por exemplo)
supervisionada) - Qual o limite do cartão de crédito, baseado nos gastos e histórico
de pagamentos?
- aprendizado supervisionado para modelar e prever - Qual o valor futuro de um produto, baseado no passado?
variáveis numéricas e contínuas. Random Forest Tipo de variável: Contínua é a combinação de várias árvores de decisão, na maioria dos casos treinados com o método de bagging. A idéia principal do - assim como árvore de decisão, também pode ser usado para encontrar as - uma quantidade grande de árvores pode tornar o algoritmo lento e ineficiente [ SKLearn - pacote: ensemble | função: RandomForestClassifier ] - hiperparâmetro n_estimators, que indica o número de árvores construídas pelo algoritmo antes de tomar uma votação ou fazer
> Qual será a temperatura amanhã (regressão e classificação) método de bagging é que a combinação dos modelos de aprendizado aumenta o resultado geral. É um algoritmo do método melhores variáveis para o modelo para predições em tempo real. [ SKLearn - pacote: ensemble | função: RandomForestRegressor ] uma média de predições. aumenta a performance mas também torna a computação mais lenta.
> Quanto é? > Quanto venderei semestre que vem? Ensemble. - pode ser utilizado tanto para regressão quanto para classificação e é fácil - Enquanto faz um bom trabalho na classificação, já não é tão bom para o [ SKLearn - pacote: tree | função: export_graphviz] - max_features, que indica o número máximo de características a serem utilizadas pelo Floresta Aleatória na construção de uma
> Quanto terei de dinheiro no final do mês? visualizar a importância relativa que ele atribui para cada característica na suas problema de regressão, uma vez que não fornece previsões precisas para variáveis dada árvore
- uma das formas de medir a performance é pelo entradas. contínuas. Para qualquer algorítmo de árvore, seja ele ensemble ou não, se quiser visualizar o - min_sample_leaf. Este parâmetro indica o número mínimo de folhas que devem existir em uma dada árvore.
cálculo dos resíduos. Também pelo coeficiente de - Eficiente com muitas variáveis preditoras e com valores missing modelo no Python, é interessante instalar os pacotes: pydot e graphviz. - n_jobs informa quantos processadores o algoritmo pode utilizar. Se ele tiver valor 1, pode utilizar apenas um processador. O
determinação (R²) - Funciona bem de forma paralelizada valor -1 significa que não há limite na quantidade de processadores a ser utilizada.
Uma outra forma de interpretar os resultados é o pacote TreeInterpreter - max_depth, caso seja NONE, árvores completas são criadas. Ajustando esse parâmetro, ajuda a evitar o overfitting
[ pacote: treeinterpreter | função: treeinterpreter ] - criterion, será o critério utilizado para realizar o algorítmo. O padrão é o índice GINI.
Regressão Linear Tipo de variável: Contínua - Regressões em geral, tenta definir a dependência entre variáveis. entender e explicar, e pode ser regularizado para evitar overfitting. Além disso, os ele apresenta um desempenho ruim quando há relacionamentos não lineares. [ SKLearn - pacote: linear_model | função: LinearRegression ; Ridge ; Lasso ;
- Assume-se um efeito causal unidireccional de uma variável para a resposta de uma outra variável. modelos lineares podem ser atualizados facilmente com novos dados usando a Eles não são naturalmente flexíveis o suficiente para capturar padrões mais ElasticNet ]
- Funciona bem quando existem relações lineares entre as variáveis no seu conjunto de dados. descida de gradiente estocástica. complexos, e adicionar os termos de interação certos ou polinômios pode ser
- Na prática, a regressão linear simples é muitas vezes superada por suas contrapartes regularizadas (LASSO, Ridge e Elastic-Net). complicado e demorado. Verificar a correlação das variáveis preditoras com a target.
Regularização é uma técnica para penalizar grandes coeficientes para evitar overfitting, e a força da penalidade deve ser ajustada Somente para variáveis numéricas. Muito sensível a outlier.
- Assume que os dados estão em Distribuição Normal.
- R-Square mede quão perto os dados estão da linha deregressão. Quanto mais perto de 1, melhor.
Redes Neurais Artificiais baseado em otimização estruturas matemáticas com habilidade de aprendizado. Implementam detecções sofisticadas de padrões e algoritmos de
geométrico aprendizado de máquina para constuir modelos de prognóstico. Há duas estruturas: o neurônio (nó) e conexões (links)
[connectionist classifier]
Deep Learning - são redes neurais com múltiplas camadas, que podem aprender padrões extremamente complexos. O deep learning é o estado da arte atual para certos domínios, como visão Esses algoritmos geralmente não são adequados como algoritmos de propósito
- Eles usam "camadas ocultas" entre entradas e saídas para modelar representações intermediárias dos dados que outros computacional e reconhecimento de fala. As redes neurais profundas funcionam geral porque exigem uma quantidade muito grande de dados. Na verdade, eles
algoritmos não podem aprender facilmente. muito bem em dados de imagem, áudio e texto, e podem ser facilmente geralmente são superados por conjuntos de árvores para problemas clássicos de
- ainda requer muito mais dados para treinar em comparação com outros algoritmos porque os modelos têm ordens de grandezas atualizadas com novos dados usando a propagação em lote. Suas arquiteturas (ou aprendizado de máquina. Além disso, eles são computacionalmente intensivos
mais parâmetros para estimar. seja, o número e a estrutura das camadas) podem ser adaptadas a muitos tipos de para treinar, e exigem muito mais experiência para ajustar
- também é facilmente adaptável a problemas de classificação. De fato, a classificação é frequentemente o uso mais comum da problemas, e suas camadas ocultas reduzem a necessidade de engenharia de
aprendizagem profunda, como na classificação de imagens. recursos.
xxxx
Reforço - processo de decisão Tomada de Decisão > O que eu faço agora? - O sinal ficou amarelo: devo acelerar ou freiar? Algoritmos Genéticos algoritmos de otimização e busca baseados nos mecanismos de seleção natural e genética. Trabalham com um conjunto de
- sistema de recompensa - Ela está dormindo: devo acordá-la? possíveis soluções simultaneamente, com capacidade adaptativa e robusta
- aprender com própria experiência Examina o comportamento e utiliza o reforço, com - Está quente e ele está gripado: ligo ou não o ar condicionado?
recompensas e punições, para ajustar o modelo.
[ aprender com iterações com o Bom para ajustes de sistemas automatizados que [model-free]
ambiente ] precisam tomar muitas decisões sem a orientação Q-Learning
humana.
- aprender por tentativa e erro. Os [model-free]
erros ajudam a aprender devido a A diferença desse algoritmo para os de Classificação, R-Learning
uma penalidade associada. é que eles coletam dados a medida que agem,
aprendem por tentativa e erro, e por reforço.
TD Learning [model-based]
Sistema de
Recomendação
Sistema de Recompensa
>> Terminologia:
Modelo - um conjunto de padrões aprendidos a partir dos dados.
Algoritmo - um processo específico de ML usado para treinar um modelo.
Dados de treinamento - o conjunto de dados a partir do qual o algoritmo aprende o modelo.
Dados de teste - um novo conjunto de dados para avaliar de maneira confiável o desempenho do modelo.
Recursos/ Características - Variáveis (colunas) no conjunto de dados usado para treinar o modelo.
Variável alvo (target) - uma variável específica que você está tentando prever.
Observações - Pontos de dados (linhas) no conjunto de dados.
Overfitting - Um modelo overfit "memorizou" o ruído no conjunto de treinamento, em vez de aprender os verdadeiros padrões subjacentes.
1 Análise Exploratória
Quantas observações eu tenho?
Quantas características tenho?
Quais são os tipos de dados dos meus recursos? Eles são numéricos? Categórico?
Eu tenho uma variável alvo (target) ?
As colunas fazem sentido?
Os valores nessas colunas fazem sentido?
Os valores estão na escala correta?
A falta de dados será um grande problema?
A importância de separar variáveis numéricas de categóricas é porque...
Para variáveis numéricas normalmente queremos:
1) encontrar a distribuição estatística de cada variável;
2) extrair o resumo estatístico de cada var.;
3) buscar informação de outliers;
4) às vezes utilizar alguma técnica de inputação para variáveis missing
5) encontrar correlação entre as variáveis .... Etc
6) entender a relação entre 2 variáveis (disgrama de dispersão/scaterplot)
Para variáveis categóricas normalmente queremos:
1) compreender como cada variável categórica influencia a variável alvo
2) fazer uma tabela de frequência (absoluta/relativa-%)
3) entender a diferença entre grupos (gráfico de barra ou boxplot)
1.7 - Dicas:
EDA = Exploratory Data Analysis
2 Limpeza de Dados
Proper data cleaning can make or break your project.
Bons dados superam os algoritmos mais sofisticados.
3.8 - Seleção de atributos (feature selection) [ SelectKBest = dentro do SkLearn, em featrue selection ]
Ajuda a reduzir o overfitting, aumenta a acurácia e reduz tempo de treinamento.
> Seleção univariada (chi quadrado)
> Eliminação recursiva de atributos (RFE)
Machine learning para encontrar as melhores variáveis. Esta técnica utiliza a acurácia do modelo para identificar os atributos que mais contribuem para prever a variável alvo.
> Ensemble (Bagged Decision Trees)
Também utiliza machine learning. Algoritmos "ensemble" é como se você tivesse vários algoritmos de ML dentro de um único pacote. Os dados vão sendo distribuídos por esses algortimos que copõem o pacote, que por usa vez vão
processando e fazendo as previsões. Ao final é feita uma "votação" para ver qual daqueles algoritmos daquele pacote chegou a um melhor resultado.
Neste caso é como se colocasse vários algoritmos de árvore de decisão num mesmo pacote. (como o Random Forest)
Exemplos de algoritmos para seleção de atributos: Random Forest, Cálculo de dimensão fractal, wrapper.
4 Seleção de Algoritmo
Vamos introduzir dois mecanismos poderosos em algoritmos modernos: regularização e conjuntos/agrupamento.
Como você verá, esses mecanismos "consertam" algumas falhas fatais em métodos mais antigos, o que levou a sua popularidade.
Introduziremos 5 algoritmos de aprendizado de máquina muito eficazes para tarefas de regressão. Cada um deles tem também sua contrapartida na classificação.
Uma coisa é o Algorítmo de Aprendizagem (Regressão, KNN, Naive Bayes, Árvore de Decisão, ...), outra é o Modelo de Aprendizagem.
Exemplo, para o Algorítmo de Aprendiagem de Árvore de Decisão, podemos ter os seguintes Modelos de Aprendizagem: C4.5; C5.0; CART; ID3.
Podemos utilizar os algorítmos também para seleção de atributos, como visto na parte 3. Random Forest também é bastante usado para este fim.
Ensemble é um termo geral, mas quando os modelos base são árvores de decisão, eles têm nomes especiais: random forests e boosted trees!
Random Forests (do tipo Bagging):
treinam um grande número de árvores de decisão "fortes" e combinam suas previsões através do envelopamento (bagging).
Além disso, existem duas fontes de "aleatoriedade" para florestas aleatórias: Random Forest
- Cada árvore só pode escolher um subconjunto aleatório de atributos para dividir (levando à seleção de atributos).
- Cada árvore é treinada apenas em um subconjunto aleatório de observações (um processo chamado de reamostragem).
Na prática, as florestas aleatórias tendem a ter um bom desempenho.
- Eles muitas vezes vencem muitos outros modelos que demoram semanas para se desenvolver.
- Eles são o perfeito algoritmo "canivete suiço" que quase sempre obtém bons resultados.
- Eles não têm muitos parâmetros complicados para ajustar.
Boosted Trees (do tipo Boosting): [ SKLearn - pacote: ensemble | função: AdaBoostClassifier ou GradientBoostingClassifier ]
Treina uma seqüência de árvores de decisão restritas "fracas" e combina suas previsões. Bagged Decision Trees
- Cada árvore é permitida uma profundidade máxima, que deve ser ajustada.
- Cada árvore na sequência tenta corrigir os erros de previsão do anterior.
Na prática, as Boosted Trees tendem a ter os mais altos de desempenho.
- Eles costumam vencer muitos outros tipos de modelos após o ajuste adequado.
- Eles são mais complicados de ajustar do que florestas aleatórias.
Random Forest Ponderado (do tipo Boosting): [ SKLearn - pacote: ensemble | função: RandomForestClassifier ]
Ele permite considerar "pesos" para os erros do modelo. Penalizando os erros durante o treinamento.
Você pode criar uma matriz de pesos, onde o Verdadeiro Positivo e Verdadeiro Negativo tem peso zero, pois já estão corretos.
Para o Falso Positivo e Falso Negativo, você pode definir o peso que desejar. Estes serão os custos dos erros.
Bagged Decision Trees (do tipo Bagging): [ SKLearn - pacote: ensemble | função: BaggingClassifier ] / [ SKLearn - pacote: tree | função: DecisionTreeClassifier ]
Extremely Randomized Trees (do tipo Bagging): [ SKLearn - pacote: ensemble | função: ExtraTreeClassifier ]
XG Boosts (do tipo Boosting): XGBoost
O Gradient Boosting é uma técnica estatístca não-paramétrica usada tanto para problemas de classificação quanto regressão.
Extreme Gradiente Boosting é uma 'extensão' do Gradiente Boosting (GBM), permitindo trabalhar multithreading em uma única máquina e processamento paralelo.
O XGBoost automaticamente aceita dados espersos como input sem armazenar zeros na memória. É bom transformas matriz de espersa para densa.
O modelo XGBoost (para classificação), não entrega o número binário (0 ou 1), mas sim a probabilidade de pertencer a cada classe.
Para instalar o XGBoost a partir do PyPi: !pip install xgboost
Na hora de chamar no Jupyter: from xgboost import XGBClassifier
Permite, através do parâmetro 'watchlist' (lista nomeada de matriz densa), avaliar a performance do modelo. Ou seja, permite incluir conjuntos de dados para fazer
validação do modelo durante o treinamento. Tem que lembrar de converter a matriz para densa.
Pelo método 'importance' também é possível extrair a importância de cada atributo para a construção do modelo. Pode ser utilizado para fazer a seleção de atributos tb.
Na importância ele traz o ganho de informação por atributo.
Stochastic gradient boosting: cria subsamples do dataset de treino antes de crescer cada árvore. Funciona melhor com grande quantidade de dados.
4.6 - Cluster
Atividade de aprendizagem não-supervisionada. O objetivo é encontrar grupos semelhantes ou homogêneos em dados.
É utilizado para descoberta de conhecimento, ao invés de fazer previsões. A ideia é descobrir padrões.
Os pontos de dados devem o mais semelhante entre si, mas muito diferente entre os clusters.
O melhor modelo de cluster será aquele cuja distância inter-cluster é maximizada e a distânia intra-cluster é minimizada.
2 tipos de algorítmos de Clustering:
Hierárquico
Pode ser representado por um Dendograma, ou também por um Diagrama de Venn
- Aglomerativo: abordag em bottom- up
- Divisiv o: abordagem top-down
Particional
Uma vez que cada cluster formado é mutuamento exclusivo, nunca poderá haver uma relação hierárquica entre os clusters.
Aqui o foco é na independência dos clusters, não na hierarquia.
Em geral, costuma ser mais rápido que os algorítmos de cluster hierárquicos.
- Baseados em Centroides: K- means, Gaussian M ix ture Model, Fuzzy c-mean
- Baseados em Densidade: DBSCA N, Optics
- Probabilísticos: LDA
- Redes Neurais / Deep Learning: A utoencoders
Para os tipos 'particionais', o maior desafio é definir corretamente o valor de K (quantidade de grupos que serão divididos os dados).
Muitas vezes essa informação virá do conhecimento da área de negócio. Às vezes o número de cluster é definido pelo requisito do negócio ou pela 'motivação' da análise.
Exemplo: tenho 'k' mesas e quero agrupar as pessoas nas mesas por suas similaridades; departamento de mkt diz que tem orçamento para 3 tipos de campanhas diferentes.
Se não sabe por onde começar o valor de K, uma regra geral seria: (n/2)^1/2 onde n é o número de exemplos do conjunto.
Outra f orma de verific ar se estamos usando um bom número de K é pelo método Elbow. Nele você precisa gerar v ários modelos, cada um com um valor de K.
Então, a partir da homogeneidade e heterogeneidade, verifica qual valor de K melhor para o modelo em questão. Mas não existe um valor perfeito, nem uma única resposta.
A estatística de Hopkins vai ajudar a avaliar a tedÊnc ia de cluster, ou seja, o quanto seus dados são "clusterizáveis". Valores > 0,5 ... o dataset não é clusterizáv el.
É uma boa prática fazer tabelas de proporção para atributos categóricos e verificar a proporcionalisdade de registros.
Algorítmos baseados em distância, esperam receber dados normalizados.
Algumas métricas de clusterização:
- homogeneidade: o resultado de cluster satisfaz a homogeneidade se todos os sues clusters contiverem apenas pontos de dados membros de uma única classe. (retorna valor entre 0 e 1)
- completude: o resultado de cluster satisfaz a completude se todos os pontos de dados que são de uma determinada classe são elementos do mesmo cluster. (retorna valor entre 0 e 1)
- medida V: é a média entre homogeneidade e completude.
- inércia: soma das distâncias das amostras para seu centro de agrupamento mais próximo
Conceitos de PLN:
- córpus:conjunto de tex tos escritos e registros orais em uma determinada língua e que serve como base de análise. Coleção de arquiv os de texto organizado. V ocê precisa ter um corpus para conseguir treinar um modelo.
- corpora:conjunto de córpus
- stopwords: palav ras que podem ser consideradas irrelev antes para o entedimento do sentido de um texto, ou seja, palavras semanticamente irrelavantes.
Exemplos: as, e, os, de, para, com, sem, foi. Essas palavras são geralmente removidas de um texto durante a fase de pré-processamento
- tokenização: processo de quebrar o tex to f ornecido no proc essamento de linguagem natural na menor unidade de uma frase chamada tok en.
- stemming: processo de encontrar a raiz das palav ras, o seu radical. Remover os prefixos e sufixos das palav ras.
- lemmati zação: parecido com o stemming, mas ele faz uma análise morf ológica da palavra para fazer a remoç ão dos sufixos e prefixos. Envolv e processos mais longos para calcular do que o Stemming.
Leva em consideração um dicionário para fazer essa análise morfológica. Você pode criar também seu próprio dicionário.
- marcação de f ala (speech tag ging): processo de conversão de uma frase em formas - lista de palavras, lista de tuplas (onde cada tupla tem uma forma (palavra, tag) ).
A tag no caso de é uma tag de classe gramatical e significa se a palavra é um substantivo, adjetivo, verbo e assim por diante.
A lemmatização utiliza a pos_tag (ou tag), para seu algorítmo. [pos = part of speech]
- colocações e bigramas: colocação é uma sequência de palavras ou termos que co-ocorrem mais frequentemente do que seria esperado por acaso. Por ex emplo, “vinho ti nto” é uma colocação enquanto “o vinho” não é.
Um bigrama nada mais é do que uma sequência de duas palavras. Trigrama, três palavras. Outros exemplos: Rio de Janeiro, machine learning, rede social, tomografia computadorizada.
Pode haver diferentes estratégias para se chegar nos bigramas ou trigramas mais relevantes. Uma delas é pela f requência de em que aparecem.
Outra forma é por PMI. É um score que mede a probabilidade com que as palavras co-ocorrem, mais do que fossem independentes. É muito sensível à combinação "rara" de palav ras.
Uma terceira forma é pelo Teste t, onde o a hipótese nula (H0) é que as palavras ocorrem em conjunto (bi e trigramas) com determinada probabilidade.
Outro jeito é pelo Qui-quadrado (chi_sq).
É possível também juntar duas métricas para se chegar a um resultado, multiplicando seus fatores.
Modelos:
- Bag of w ord:
- TF -IDF : TF = frequência do termo. IDF = Frequência inv ersa de documentos
Classificação
5- Redes de Hopfield
6- Máquinas de Boltzmann
7- Deep Belief Network
8- Deep Auto-Encoders
9- Generative Adversarial Network
10- Deep Neural Network Capsules
5 Model Training
Existem algumas técnicas-chave que discutiremos, e elas se tornaram boas-práticas amplamente aceitas.
Pode parecer que demorou um pouco para chegarmos aqui, mas os cientistas de dados profissionais gastam a maior parte do tempo nos degraus que levam até este.
O seu modelo preditivo precisa ser "generalizável", ou seja, não pode criar um modelo apenas para os dados de treino.
2)
5.5 - Selecionando o melhor modelo [ SKLearn - pacote: metrics | função: mean_squared_error ; mean_absolute_error ; r2_score ]
Até este momento, para toda avaliação acima, você utiliza apenas o conjunto de dados para treinamento.
Agora é hora de avaliar cada agoritmo com o conjunto de teste e selecionar o aquele com melhor desempenho.
Essa métrica é possível ser selecionada diretamente dentro da função 'cross_val_score', pois é um de seus parâmetros (scoring)
Há uma variedade de métricas de desempenho que você pode escolher. Não vamos gastar muito tempo com todos aqui, mas em geral:
Para tarefas de regressão, recomendamos o Erro Médio Quadrático (MSE) ou o Erro Médio Absoluto (MAE). (Valores mais baixos são melhores). Já o R², quanto maior, melhor (valor de 0 a 1).
Para tarefas de classificação, recomendamos Área Sob Curva ROC (AUROC). (Valores maiores são melhores). A AUROC (ou AUC - area under curve) é uma métrica de performance para classificação binária.
Para classificação também pode-se utilizar a 'Acurácia', mas é útil apenas quando existe o mesmo número de observações em cada classe, ou seja, se a base de dados estiver desbalanceada, não é recomendado.
Se você converteu a coluna target da sua base de dados antes de dividir entre treino e teste para fator, lembre-se de convertê-la novamente para numérica para conseguir aplicar o AUC.
No SKLearn já tem uma função 'classification_report' (dentro do pacote metrics) que mostra o resultado de várias métricas (precision; recall; f1-score; support)
O processo é muito simples:
Para cada um dos seus modelos, faça previsões no seu conjunto de testes.
Calcule as métricas de desempenho usando essas [previsões do modelo] e as [variáveis de resposta do conjunto de testes].
Finalmente, use estas perguntas para ajudá-lo a escolher o modelo vencedor:
Qual modelo teve o melhor desempenho no conjunto de testes? (desempenho)
Funciona bem em várias métricas de desempenho? (robustez)
Também teve (uma das) melhores pontuações cruzadas do conjunto de treinamento? (consistência)
Isso resolve o problema original do negócio? (condição de vitória)
Para facilitar o teste de vários modelos de uma vez, é possível criar um loop entre todos os modelos que se deseja testar. Veja o exemplo ao lado - - - - - - - - - - - - - - - - >
O primeiro bloco ele cria uma lista e inclui todos os modelos que deseja testar com seu respectivo nome.
Depois cria 2 listas em branco onde jogará os resultados no loop.
Cria o loop que passa pelo cross validation (kflod), guarda o score numa variável que é agregada à lista de resultados junto com nome.
Ao final, para facilitar a visualização, criou um boxplot comparando os scores.
Verdadeiro
Negativo - TN
Dependendo do modelo você focará na redução de uma métrica específica. Tem problemas que reduzir falso positivo é melhor (ou menos pior) do que reduzir falso negativo e vice-versa.
AUC- ROC: A curva ROC mostra a relação entre a taxa de verdadeiros positivos (true positive rate — TPR) e a taxa de falsos positivos ( false positive rate — FPR) para diferentes thresholds.
Uma outra forma de visualizar isso é quanto mais longe a curva ROC estiver da linha pontilhada, que é a curva ROC de um modelo aleatório, melhor.
Quanto maior o AUC, melhor. Quanto mais próximo de 1.0 é a área sob a curva ROC, melhor é o modelo.
- O valor de accuracy = 90% sig nifica que 1 em cada 10 rótulos está incorreto e 9 está correto.
- O valor de precision = 80% sig nifica que, em média, 2 em cada 10 alunos diabéticos marcados pelo nosso programa são saudáveis e 8 são diabéticos.
-O v alor de recall = 70% significa que 3 em cada 10 pessoas diabéticas na realidade não participam do nosso programa e 7 são rotuladas como diabéticas.
6 Storytelling
Como resumir o trabalho de análise e explicar para quem não conhece de Data Science?
Não utilize linguagem técnica em apresentações executivas.
Não utilize linguagem técnica em apresentações executivas.
Use poucos gráficos para explicar seus resultados. Use tabelas também se for necessário.
Tente construir uma linha do tempo explicando como os dados geraram os resultados esperados.
Não use termos como "variáveis" e sim "atributos" ou "características".
Documente todo seu trabalho, pois facilitará contar a história depois.
Tomadores de decisão não querem saber que algoritmo você utilizou. Querem saber o que precisam fazer para aumentar o faturamento.
Responda o que é importante para eles, não o que é importante para você.
O processo de análise não interessa aos tomadores de decisão, e sim o resultado final.
A fase exploratória dos dados pode apresentar insights preciosos. Use isso ao seu favor e guarde todos os resultados intermediários do processo de análise.
7 Deploy
É o processo de fazer o modelo resulver o problema oara o qual ele foi criado
Colocar o modelo em produção. Veja abaixo algumas das formas:
Em nuvem, com Google Cloud, AWM (Amazon), Azure (Microsoft).
Aplicações WEB com o Framework Web. Ex.: em Python tem o pacote Flask, e em R tem o pacote Shiny.
Com o TensorFlow Serving.
Desenvolvimento de APIs.
1.2 Tarefa: Regressão - a ideia é prever um valor numérico; ou em outros termos: identificar uma categoria em
Principal métrica de avaliação é o erro quadrático médio (mean squared error).
Regressão Linear
Regressão Exponencial
Regressão Logarítmica
Redes Neurais - que também podem resultar valores contínuos
LASSO
Ridge
Árvores de Decisão (árvore de regressão)
SVM
2.1 Tarefa: Clustering - permite dividir um conjunto de dados em grupos de acordo com medidas de similaridad
Baseados em Centroides: K-means, Gaussian Mixture Model, Fuzzy c-mean
Baseados em Conectividade: Algoritmos hierárquicos
Baseados em Densidade: DBSCAN, Optics
Probabilísticos: LDA
Redes Neurais / Deep Learning: Autoencoders
2.2 Tarefa: Associação - permite o descobrimento de regras e correlações, identificando conjuntos de itens que
Q-Learning
TD-Learning
Algorítmo Genético
Aproximação por função com atualização por gradiente
Multi-Armed Bandits
Contextual Bandits
k-Armed Bandits
5. Métodos ensemble
É um grupo de algoritmos de machine learning. O output pode ser uma média dos resultados de cada algoritm
É possível também aplicar um peso diferente para cada modelo, e ao final, na média ou na votação, ele terá u
Há alguns modelos mais avançados de votação que o modelo aprende o melhor peso a ser atribuído aos subm
Possui 2 abordagens principais:
- Bootstrap Aggregation ou Bagging
Quando utiliza vários modelos, mas de uma mesma categoria, por exemplo o Random Forest, que é um
Exemplos: Random Forest, Bagged CART
- Boosting
Também utiliza modelos de uma mesma categoria, porém nesta abordagem, cada modelo tenta corrigir
Então, enquanto o Bootstrap possui vários modelos em paralelo e depois faz uma média ou votação, no
Exemplos: C5.0, AdaBoost, Stochastic Gradient Boosting
ture de entrada, e os nós folhas são rotulados com a classe a ser preterida
classe para cada valor de atributo, supondo que as variáveis são independentes
onde os pesos das camadas ocultas são ajustados a cada iteração
s de similaridade ou de distância
Euclideano. O objetivo é verificar a menor distância entre o novo dado e os dados usados para treino. É uma comparação d
ada atributo.
pótese ser correta.
babilidade de uma hipótese.
ponderadas pela sua probabilidade.
edução de dimensionalidade
assificação (multiclasse)
ão-supervisionados
Abaixo temos uma imagem clássica de comportamentos de alguns algoritmos para classificação de grupos em al
uma comparação direta, por similaridade.
do antior.
ão de grupos em alguns cenários:
Estatística básica
medidas de centralidade
média
mediana - valor do meio
moda - valor com maior frequência (unimodal, bimodal, multimodal)
medidas de dispersão
variância
desvio padrão
quartis
amplitude
covariância
coeficiente de correlação
A covariância é semelhante à correlação entre duas variáveis, no entanto, elas diferem nas seguintes maneiras:
Os coeficientes de correlação são padronizados. Assim, um relacionamento linear perfeito resulta em um coefic
Os valores de covariância não são padronizados. Portanto, a covariância pode variar de menos infinito a mais in
assimetria (skewness) - informa a quantidade e a direção da inclinação
medida positiva indicaria que a média dos valores dos dados é maior do que a mediana e a distribuição dos dados é
medida negativa indica que a média dos valores dos dados é menor que a mediana e a distribuição dos dados é inc
curtose - informa a altura e a nitidez do pico central, em relação a uma curva de sino padrão
coeficiente de variação
CV = desvio padrão / média
Quanto menor o Coeficiente de Variação de um conjunto de dados, menor é a sua variabilidade. O Coeficiente de V
Análise Descritiva
variáveis numéricas (quantitativas)
contínua
discreta
um exemplo de dado que pode confundir: ANO, é uma variável numérica ou categórica? Posso fazer operações
variáveis categóricas (qualitativas)
nominais
ordinais
tabela de frequência
histograma
boxplot
correlação
gráfico de dispersão (scatterplot) - representações de dados de duas ou mais variáveis
séries temporais
Probabilidade
estudo da aleatoriedade e incerteza
Representa a base da estatística inferencial, que por sua vez é a base do aprendizado de máquina.
experimento - processo de medir ou observar uma atividade com o propósito de coletar dados.
espaço da amostra - representatodos os possíveis resultados de um experimento
evento - representaum ou mais resultados de um experimento
Teoria da Probabilidade possui 5 regras básicas
1-A probabilidade de qualquer evento sempre será entre 0 e 1. Probabilidades nunca podem ser negativas ou maio
2-A soma de todas as probabilidades para um evento simples, em um espaço de amostra, seráigual a 1.
3-Se P(A) = 1, então podemos garantir que o evento A ocorrerá.
4-Se P(A) = 0, então podemos garantir que o evento A não ocorrerá.
5-P(A) = 1 –P(A’), onde P(A’) é o complemento do evento A.
Eventos Complementares
Sabendo que um evento pode ocorrer ou não. Sendopa probabilidade de que ele ocorra (sucesso) eqa proba
Eventos Independentes
Dizemos que dois eventos são independentes quando a realização ou não realização de um dos eventos não afeta a
Eventos Mutuamente Exclusivos
Dizemos que dois ou mais eventos são mutuamente exclusivos quando a realização de um exclui a realização do(s)
no lançamento de uma moeda, o evento “tirar cara” e o evento “tirar coroa” são mutuamente exclusivos
Distribuição de probabilidade - descreve como os valores de uma variável aleatória são distribuídos
Existem três tipos de probabilidade:
Probabilidade clássica - usada quando cada resultado no espaço amostral tem a mesma probabilidade de oco
Probabilidade empírica - baseia-se em observações obtidas de experimentos aleatórios. Os resultados são base
Probabilidade subjetiva - intuição estimativa ou palpite. Normalmente baseada em experiência no passado, opiniã
Distribuições de probabilidade:
Binomial - uma distribuição de probabilidade discreta, que descreve o resultado de n experimentos independentes.
Poisson - encontrar o número de vezes em que um evento específico ocorre em uma determinada área de oportu
Uniforme - qualquer número selecionado no intervalo [a, b] tenha uma chance igual de ser selecionado.
Exponencial - tempo de acontecimento de uma sequência de eventos independentes, aleatoriamente recorrentes.
Normal
Testes Estatísticos
Script construção do modelo:
Definir problema
Carregar e compreender os dados
Tipos de Dados, Frequência, Histograma, Boxplot,
Correlação
Teste T
duas amostras independentes (não-pareado):
duas amostras dependentes (pareado):
uma amostra:
> para poder usar o Teste T, é preciso ser uma distribuição normal e ter variâncias iguais
Teste para verificar se amostra possui uma distribuição normal = Shapiro Test
H0 = dados são normalmente distribuídos
H1 = dados NÃO são normalmente distribuídos
Teste para verificar a Homogeneidade das variâncias em uma distribuição NORMAL = Bartlett's Test
Teste para verificar a Homogeneidade das variâncias em outra distribuição = Levene Test
H0 = variâncias são iguais para todas as amostras
H1 = variâncias NÃO são iguais para todas as amostras
Em modelos de regressão multivariada, é preciso tomar muito cuidado com a colinearidade das variáveis do modelo.
para o modelo de regressão é ruim ter variáveis que são correlacionadas entre si
um teste para verificar a colinearidade é o Fator de Inflação da Variância (VIF).
Problema 1
Treinando Teste do Hipótese.
Pode ser um teste bicaudal. Neste caso: H0 - X = Y média de X - média de Y = 0
H1 - X <> Y média de X - média de Y <> 0
Pode ser unicaudal. Neste caso: H0 - X <= Y ou H0 - X >= Y
H1 - X > Y H1 - X < Y
Se for executar um teste estatístico paramétrico (ex: ANOVA), o uso de dados muito inclinados para esquerda ou direit
É preciso fazer uma transformação de Log e depois executar o teste nos números transformados.
O teste de hipótese também pressopõem a independência entre as variáveis que serão comparadas.
É possível verificar a correlação entre as 2 variáveis e espera-se que o resultado seja um valor próximo de zero.
Tipos de de Teste T
Condição preliminar: existência de distribuição normal dos dados em ambos os grupos de dados.
1) Teste T de 1 amostra
2) Teste T de 2 amostras independentes
3) Teste T de 2 amostras relacionadas (pareadas)
Exemplo de teste pareado:
o mesmo conjunto de itens foram medidos sob duas condições diferentes
as diferenças nas medições feitas sobre mesmo assunto antes e depois de um tratamento (ex: peso do pacie
diferença entre 2 tratamentos dados ao mesmo assunto
Pode ser feito um Power Test para verificar se o tamanho da amostra e o size effect são bons e não afetaram o resulta
size effect = ( [média amostra antes] - [média amostra depois] ) / [ desvio padrão da diferença entre os dados ]
Imprimindo os autovetores da posição dos autovalores com valor mais próximo de zero
Imprimindo as variáveis das posições dos autovetores com os valores mais distantes de zero
O que corrobora a
informação da matriz
de correlação
Teorema de Bayes
Como ele retorna uma probabilidade, é preciso definir um threshold (um llimiar) para fazer a classificação.
Se ( resultado > x%; 1 ; 0 )
Possível problema: e se nos dados de teste houver uma classe que não havia nos dados de treino? (problema da Frequ
Usar a estimativa de Laplace = 1.
No máximo 15 páginas.
Base da Airbnb
modelo de regressão múltipla
buscar sentido na análise dedados das relações entre as variáveis
justificar a escolha da base de dados
preço por região / bairro do RJ
preço por tipo diferente de propriedade
relacionar preço com quantidade de reviews
Anotações gerais
A estimativa de densidade de kernel (KDE) é uma forma não paramétrica de estimar a função de densidade de probabi
onde as inferências sobre a população são feitas, com base em uma amostra de dados finitos
guintes maneiras:
resulta em um coeficiente de correlação 1. A correlação mede tanto a força como a direção da relação linear entre duas variáveis
enos infinito a mais infinito. Assim, o valor para uma relação linear ideal depende dos dados. Como os dados não são padronizadas, é d
de. O Coeficiente de Variação expressa o quanto da escala de medida, representada pela média, é ocupada pelo desvio-padrão.
entos independentes. Cada ensaio é suposto ter apenas dois resultados, seja sucesso ou fracasso
inada área de oportunidades (período de tempo , distância, área, volume) - só com valores discretos
Binomial
lecionado. Poisson
iamente recorrentes.
como p-value < 0,05, rejei
H0 -- > média 1 = média2
H1 --> Média 1 <> média 2
ariáveis do modelo. uma forma para guiar esta decisão, pode-se uti
existe mais de um método e um deles é o Stepw
do carro irá aumentar em 2,93 em carros com transmissão manual, em comparação com automático
do carro irá diminuir em 3,9 (milhar por galão) a cada 1000 libras (wt) de aumento de peso do carro.
nto (ex: peso do paciente antes e depois de programa de emagrecimento. Para existir a 2a medida, é preciso ter o paciente com mais
e diferente de zero? (Teste hipótese F). Se houver ao menos um beta diferente de zero, o p-value será < 0,05 e rejeitaremos hipótese n
ntão ele teste se a parte da variação que é explicada é estatisticamente significativa.
tas são estatisticamente diferentes de zero. (Teste hipótese T)
Se você tem um modelo heterocedástico, pode ser que você esteja omitindo alguma variável important
R-quadrado (R²): o quanto o modelo consegue explicar a variação da variável dependente pela v
Quanto maior, melhor. Pode variar de 0 a 1.
Quanto da variabilidade da variável dependente é explicada pela variabilidade das variáve
R-quadrado ajustado
é sempre um pouco menor que o R²
utilizar para comparar modelos com quantidades diferentes de variá
quanto mais próximo são os valores entre R² e R² ajustado, melhor e
nvectors)
Passos:
1 - converter conjunto de dados numa tabela d
2 - criar tabela de probabilidade de cada ocorrê
3 - usar a equação de Bayes para calcular a pro
sificação.
Aplicação:
? (problema da Frequência Zero) Qual aprobabilidade de praticar esporte num d
Base de filmes
qual filme rende mais no mercado doméstico? Filme ou produtora
qual filme rende mais no mercado internacional ? Filme ou produtora
relacionar orçamento com nota e faturamento
desempenho dos estúdios por ano
densidade de probabilidade de uma variável aleatória. A estimativa da densidade do kernel é um problema de suavização de dados fu
e duas variáveis
ão padronizadas, é difícil determinar a força da relação entre as variáveis.
esvio-padrão.
p-value < 0,05, rejeita-se a Hipótese Nula
> média 1 = média2
> Média 1 <> média 2
padrão pelo percentil associado ao nível de significância observado em uma distribuição normal padrão
s diferentes de variáveis
² ajustado, melhor está a especificação do seu modelo, ou seja, não tem muitas variáveis que "não dizem nada" sobre a variável depe
odelo considerando mais de uma variável
Análise exploratória
investigações iniciais dos dados, a fim de descobrir padrões, detectar anomalias, testar hipóteses e verificar suposições
O que fazer:
Extrair variáveis importantes e deixarpara trás variáveis inúteis(nem todas as variáveis no dataset serão relevan
Identificar outliers, valores ausentes ou erro humano.
Compreender os relacionamentos, ou falta de, entre variáveis.
Verificar a distribuiçãoetipodas variáveis
Base de filmes
qual filme rende mais no mercado doméstico? Filme ou produtora
qual filme rende mais no mercado internacional ? Filme ou produtora
relacionar orçamento com nota e faturamento
desempenho dos estúdios por ano
lico-alvo.
remesa?
mos hipótese nula (H0).
ável independente.
e para outros valores subestimando.
e quando maior ou menor (direita, do meio) o valor da variável, maior seria o meu erro para estimar.
ependente da magnitude da variável independente.
vel importante para seu modelo.
Algoritmos para problemas de clusterização
pela conectividade e hierarquia: apresenta-se pelo dendograma de dados
baseado no centróide: K-means
cluster baseado na densidade: DBSCAN. A grande vantagem dele para o K-means é que ele calcula a quantidade de cluste
K-mean
Vantagem
muito rápido, pois tudo o que realmente fazemos é calcular as distâncias entre os pontos e os centros dos grupo
Desvantagem
você tem que selecionar quantos grupos / classes existem. Isso nem sempre é trivial
K-means também começa com uma escolha aleatória de centros de cluster e, portanto, pode produzir resultado
Mean-shift Clustering
tenta encontrar áreas densas de pontos de dados. É baseado em centróide, funciona atualizando candidatos para po
Vantagem
não há necessidade de selecionar o número de clusters, pois o deslocamento médio descobre isso automaticam
Desvantagem
A desvantagem é que a seleção do tamanho / raio da janela "r" pode ser não trivial
Abaixo temos uma imagem clássica de comportamentos de alguns algoritmos para classificação de grupos em alguns ce
dendograma
a a quantidade de clusters de forma automárica.
ndo candidatos para pontos centrais para serem a média dos pontos dentro da janela deslizante. Essas janelas candidatas são então filtra
s pontos de vizinhança irá variar de cluster para cluster quando a densidade varia
o parâmetro de desvio padrão, os clusters podem assumir qualquer forma de elipse, ao invés de serem restritos a círculos
s. Portanto, se um ponto de dados estiver no meio de dois clusters sobrepostos = mixed membership
eguida, mesclam (ou aglomeram) sucessivamente pares de clusters até que todos os clusters tenham sido mesclados em um único cluster
o hierárquico ou HAC. Esta hierarquia de clusters é representada como uma árvore (ou dendrograma).
tas são então filtradas em um estágio de pós-processamento para eliminar duplicatas, formando o conjunto final de pontos centrais e seu
por densidade