Modelado de temas en fraude

Fraud Detection in Python

Charlotte Werger

Data Scientist

Modelado de temas: patrones ocultos en texto

  1. Descubrir temas en texto
  2. "¿De qué trata el texto?"
  3. Similar, en concepto, al clustering
  4. Comparar temas de fraudes vs. no fraudes y usar como feature o flag
  5. ¿Hay algún tema que apunte a fraude?
Fraud Detection in Python

Latent Dirichlet Allocation (LDA)

Con LDA obtienes:

  1. Modelo de "temas por texto" (probabilidades)
  2. Modelo de "palabras por tema"

Cómo crear tu propio modelo de temas:

  1. Limpia tus datos
  2. Crea un bag of words con diccionario y corpus
  3. Pasa diccionario y corpus al modelo LDA
Fraud Detection in Python

Latent Dirichlet Allocation (LDA)

Fraud Detection in Python

Bag of words: diccionario y corpus

from gensim import corpora
# Create dictionary number of times a word appears
dictionary = corpora.Dictionary(cleaned_emails)
# Filter out (non)frequent words 
dictionary.filter_extremes(no_below=5, keep_n=50000)
# Create corpus
corpus = [dictionary.doc2bow(text) for text in cleaned_emails]
Fraud Detection in Python

Latent Dirichlet Allocation (LDA) con gensim

import gensim
# Define the LDA model
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics = 3, 
id2word=dictionary, passes=15)
# Print the three topics from the model with top words
topics = ldamodel.print_topics(num_words=4)
for topic in topics:
    print(topic)
(0, 0.029*"email" + 0.016*"send" + 0.016*"results" + 0.016*"invoice")
(1, 0.026*"price" + 0.026*"work" + 0.026*"management" + 0.026*"sell")
(2, 0.029*"distribute" + 0.029*"contact" + 0.016*"supply" + 0.016*"fast")
Fraud Detection in Python

¡Vamos a practicar!

Fraud Detection in Python

Preparing Video For Download...