Colunas calculadas no SharePoint | Uma visão geral
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
A detecção de outliers é uma tarefa importante no campo do aprendizado de máquina. É usado para identificar observações incomuns ou pontos de dados que se desviam da tendência geral do conjunto de dados. Um algoritmo eficaz para detecção de outliers é o algoritmo Isolation Forest .
No blog de hoje, abordaremos os fundamentos do algoritmo Isolation Forest e demonstraremos como usá-lo para detectar outliers em um conjunto de dados usando Python . Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog .
Índice
Algoritmo de Isolamento de Floresta vs Método Box Plot
A seguir, são mostrados dois visuais para detecção de valores discrepantes. Observe as diferenças significativas na representação visual ao usar o em comparação com quando o modelo ML de floresta de isolamento para detecção de outliers é utilizado.
No modelo Isolation Forest ML, a porcentagem de outliers detectados pelo algoritmo IS Anomaly Detection é de 32,56%. Usando o mesmo algoritmo, os 67,44% restantes dos dados caem na faixa normal, que é bastante sensível. Nosso objetivo é ajustar essa sensibilidade usando Python .
O método tradicional de detecção de outliers
A maneira tradicional de encontrar um valor discrepante é usando um método de plotagem de caixa . Nesse método, usamos o IQR para encontrar o que está fora do intervalo esperado dos dados.
Neste exemplo, este único ponto acima do bigode é nosso outlier.
Se traduzirmos esse gráfico visual em um gráfico de pizza, obteremos esse outlier específico, que é equivalente a 2,33% dos dados totais.
Neste blog, aprenderemos como usar o método Isolation Forest ML, ajustá-lo para corresponder ao método tradicional e aumentar ou diminuir sua sensibilidade.
O conjunto de dados para o algoritmo de floresta de isolamento
Abra nosso conjunto de dados no LuckyTemplates. Em seguida, clique em Transformar dados.
Nosso conjunto de dados para este tutorial será exibido. Ele contém Date , number of Users , Index e Isolation Forest Outlier com saída 1 para o intervalo normal e -1 para outliers .
Também temos uma coluna para o valor atípico tradicional e uma coluna condicional intitulada Detecção de anomalia IS refletindo o valor atípico da floresta de isolamento.
Nossa segunda consulta mostra nosso quadro de dados, no qual aprenderemos como juntar tudo.
Os Códigos Python
No painel Propriedades , podemos ver nossos dois scripts Python em execução. Criamos a saída Isolation Forest com um desses scripts Python e geramos o outlier tradicional com o outro.
Código Python do Algoritmo da Floresta de Isolamento
Clique em Executar script Python para visualizar o código.
Neste código Python, importamos pandas como pd e usamos algo chamado Isolation Forest.
Uma Isolation Forest é um modelo baseado em árvore que toma decisões com base em uma estrutura de árvore e então decide se é um outlier ou não. Chamamos isso de modelo de conjunto porque usa dois métodos diferentes para encontrar um valor discrepante específico.
Também substituímos a variável do conjunto de dados , que contém nosso conjunto de dados por padrão, como df .
Dado nosso conjunto de dados, não precisaremos das duas linhas de códigos destacadas abaixo, então podemos apenas excluir essas linhas.
O que estamos fazendo é instanciar o modelo.
Salve o modelo como IsolationForest e deixe o modelo aprender os dados com os usuários. Em seguida, crie uma nova coluna chamada Detecção de anomalias , que analisará todos os dados que aprender e preverá qual deve ser um valor atípico ou não.
Para esta função, o padrão para contaminação é definido em 0,5 . Portanto, ele está supersensível no momento e procurará muitos outliers. É por isso que em nosso gráfico de pizza anterior, temos uma faixa muito alta de outliers em 32,56%.
Para torná-lo menos sensível, podemos adicionar a contaminação = 0,1 na função IsolationForest .
Por fim, redefina o índice e clique em OK.
O resultado mostrará uma tabela de resumo. Vá para o painel Applied Steps e clique em df.
Na saída, podemos encontrar os outliers na coluna Detecção de anomalias .
Também queremos ver como ele se comporta próximo ao outlier tradicional.
Código Python Outlier Tradicional
Executaremos outro script Python que, neste exemplo, é o script Run Python1.
Este código adiciona uma função de outlier usando o primeiro e terceiro quartis. Quando subtraímos q1 de q3 , obtemos o intervalo interquartílico (IQR) .
As próximas duas linhas definem as condições para os outliers. A primeira linha diz que qualquer valor inferior a 1,5 * iqr é considerado valor discrepante negativo ou inferior. É também assim que encontramos outliers da maneira tradicional.
Também sabemos que temos um outlier como o ponto mais alto em nossos dados. Para explicar isso, a segunda linha afirma que os pontos de dados superiores a q3 + 1,5 * iqr também são considerados outliers.
Retorne esse conjunto de dados e use a função outliers(df, 'Users') . Em seguida, clique em OK.
Uma tabela de resumo semelhante à que temos anteriormente aparecerá.
Se formos para o painel Applied Steps e clicarmos em Changed Type1 , obteremos as colunas Tradicional Outlier e Anomaly Detection lado a lado, com a última usando 1 e -1 para denotar outliers e não.
No entanto, quando usamos datas com Python, elas podem parecer confusas.
O que podemos fazer é criar uma coluna adicional usando o índice de Add Column .
Em seguida, adicione Index à coluna anterior com Merge , para que possamos preservar todas as informações dessa coluna/conjunto de dados original.
Assim que tivermos tudo junto, podemos executar nosso código e atualizar nossos visuais. Lembre-se de que alteramos a contaminação do outlier de 0,5 para 0,1, então devemos ver esta parte do gráfico encolher um pouco.
Volte para os visuais e clique em Aplicar alterações.
Observe como a detecção de anomalias passou de 32,56% para 11,63% de nossos dados.
Como vemos em nossos resultados, esta é uma boa maneira de otimizar nossa detecção de outliers.
Lembre-se também que quando as pessoas usam o método tradicional, podem usar valores menores que 1,5, mas 1,5 x IQR é o método tradicional, no entanto.
Detectando e apresentando resultados discrepantes no LuckyTemplates
Criando pontos de gatilho dinâmicos discrepantes no LuckyTemplates
Recurso de detecção de anomalias do LuckyTemplates: como funciona
Conclusão
Ao usar o algoritmo Isolation Forest, podemos identificar e excluir facilmente quaisquer observações incomuns de nosso conjunto de dados, melhorando assim a precisão de nossa análise. Este tutorial forneceu um guia passo a passo sobre como usar o algoritmo Isolation Forest para detecção de outliers usando Python, o que deve ajudá-lo a começar a implementá-lo em seus próprios projetos.
O que fizemos foi uma maneira muito fácil de usar nosso código Python para encontrar anomalias. Você pode otimizar ainda mais esse algoritmo modificando a contaminação e uma série de outras variáveis que você pode aprender por meio da página de código do Python .
Tudo de bom,
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.
Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.
Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.
O que é self em Python: exemplos do mundo real
Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.