Vigilancia del fraude con tarjetas
Parte de la sección Aprendizaje no supervisado del Journey de Machine Learning de Coddy. Lección 49 de 51.
El equipo de tarjetas de una cooperativa de crédito solo puede revisar a mano unos pocos pagos al día. El mes pasado, los fraudes se ocultaron en los extremos:
Pero nadie sabe que se trata de un fraude hasta que un cliente se queja, semanas después. Así que dos detectores deben encontrar los pagos sospechosos sin ninguna etiqueta.
Ya llegaron las quejas de esta semana. ¿Qué detector habría detectado más?
Desafío
DifícilLos 400 pagos de esta semana están en payments.csv; el programa lee cuántos puede revisar el equipo, budget.
- Escala las cuatro características.
- Marca
budgetpagos con un bosque de aislamiento (random_state=0) y con un factor de valores atípicos locales (20 vecinos). - Solo ahora consulta
fraud: imprime lo que detectó cada lista y cuántos pagos legítimos tuvo que revisar el equipo. - Envía al equipo la lista que detectó más:
the isolation forest's listothe local outlier factor's list; si no,either list, they tie.
Para el mes pasado y un presupuesto de 10:
Budget: 10 of 300 payments
Isolation forest: caught 6 of 12 frauds, 4 honest payments checked
Local outlier factor: caught 10 of 12 frauds, 0 honest payments checked
Send the team: the local outlier factor's listPruébalo tú mismo
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# Una fila por cada pago con tarjeta; fraud es 1 para los pagos que los clientes denunciaron semanas después
payments = pd.read_csv("payments.csv")
features = ["amount_eur", "hour", "km_from_home", "minutes_since_last"]
# Cuántos pagos puede revisar el equipo manualmente
budget = int(input())
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Aprendizaje no supervisado
1Encontrar grupos
Aprender sin etiquetasMedir la similitudK-Means a manoK-Means en scikit-learnRepaso: miembros del gimnasio7PCA en la práctica
Visualizar 64 dimensionesComponentes como patronesComprimir y reconstruirPCA antes de un modeloRepaso: escáner facial10Proyecto: Explorador de dígitos
Observa los dígitosReduce con PCAAgrupa los dígitosPon nombre a los gruposEncuentra los diferentes2Elegir k
InerciaEl método del codoPuntuaciones de siluetaEscalar antes de agruparRepaso: zonas de entrega8Detección de anomalías
Encontrar los casos atípicosIsolation ForestLocal Outlier FactorPuntuaciones de anomalíaRepaso: vigilancia del servidor11Desafíos finales
Segmentos de comprasVigilancia del fraude con tarjetasCúmulos de estrellasDos tipos de células3Interpretación de los clústeres
Perfilado de clústeresCentros en unidades realesClústeres frente a etiquetas conocidasCuándo falla K-MeansRepaso: cata de téPractica por tu cuenta: Compilador de Python online