Pontuações de Anomalia
Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 37 de 51.
Um sim ou não esconde o quanto uma linha é incomum. score_samples atribui uma pontuação a cada linha: quanto menor, mais estranha. Para as prescrições de uma farmácia:
forest = IsolationForest(random_state=0).fit(X)
rx["score"] = forest.score_samples(X)
print(rx.sort_values("score").head(3))Isso imprime as três mais estranhas:
pills refills price score
17 300 0 120.0 -0.881478
88 28 11 11.5 -0.708524
120 30 1 64.0 -0.700620Onde cortar é uma escolha sua: quantas linhas uma pessoa consegue verificar? Ordene para classificar e compare com um limite para sinalizar.
Desafio
MédioUm auditor tem tempo para analisar apenas algumas solicitações de reembolso. O código inicial ajusta uma floresta de isolamento; o programa lê n e um limite.
- Atribua uma pontuação a cada solicitação em uma nova coluna
score. - Imprima as
nsolicitações mais incomuns, começando pela mais estranha, como abaixo. - Imprima quantas solicitações têm pontuação abaixo do limite.
Para outra empresa, 2 e -0.6:
Most unusual claims:
C003: 1960 EUR, score -0.763
C040: 80 EUR, score -0.757
Below -0.6: 6 claimsExperimente você mesmo
import pandas as pd
from sklearn.ensemble import IsolationForest
# Uma linha por solicitação de reembolso: valor, recibos, horário em que foi enviada e dias após a viagem
claims = pd.read_csv("claims.csv")
X = claims[["amount_eur", "items", "hour", "days_late"]]
n = int(input())
threshold = float(input())
# Do Isolation Forest: a floresta, ajustada com todas as solicitações de reembolso
forest = IsolationForest(random_state=0).fit(X)
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Aprendizado não supervisionado
1Encontrando Grupos
Aprendendo sem RótulosMedindo a SimilaridadeK-Means à MãoK-Means no scikit-learnRevisão: Frequentadores da Academia4Clustering Hierárquico
Mesclando passo a passoModelos aglomerativosDendrogramasRevisão: raças de cães7PCA na prática
Visualizando 64 dimensõesComponentes como padrõesComprimir e reconstruirPCA antes de um modeloRecapitulação: scanner facial10Projeto: Explorando os Dígitos
Observe os DígitosReduza com PCAAgrupe os DígitosDê Nome aos GruposEncontre os Diferentes2Escolhendo k
InérciaO método do cotoveloPontuações de silhuetaEscale antes de agruparRecapitulando: zonas de entrega8Detecção de Anomalias
Encontrando os DiferentõesIsolation ForestLocal Outlier FactorPontuações de AnomaliaRevisão: Monitoramento do ServidorPratique por conta própria: Compilador de Python online