Detecção de fraude em aprendizado de máquina: o que você precisa saber [2022]
Publicados: 2021-01-02Comida, roupas, acessórios ou móveis. Tudo o que você costumava comprar em lojas nas ruas movimentadas agora pode ser comprado online. O comércio eletrônico é uma indústria multibilionária e está crescendo cada vez mais. Escusado será dizer que isso também está nas mãos do mundo do crime. Criminosos online estão presentes em todos os setores online que você pode nomear.
A detecção de fraudes com aprendizado de máquina é possível devido à capacidade dos modelos de aprender com dados de fraudes anteriores para reconhecer padrões e prever a legitimidade de transações futuras. Na maioria dos casos, é mais eficaz que os humanos devido à velocidade e eficiência do processamento de informações.
Alguns tipos de fraudes na internet são:
- Falsificação de identidade. Hoje em dia , as identidades são tão bem fabricadas que é quase impossível para os humanos verificarem sua legitimidade e evitar qualquer fraude de identidade.
Através do uso de IA, vários recursos da aparência do cartão de identificação podem ser analisados para obter um resultado sobre a autenticidade do documento. Isso permite que as empresas estabeleçam seus próprios critérios de segurança quando são feitas solicitações que exigem determinados documentos de identificação.
- Fraudes de empréstimos bancários. Isso pode acontecer se uma pessoa entrar em contato com você e oferecer um esquema de empréstimo com condições suspeitamente favoráveis. Aqui, a pessoa que entrar em contato com você solicitará seus dados bancários ou pagamento antecipado, sem ter nenhuma informação adequada da empresa ou mesmo usar um número de contato internacional. Essas fraudes podem ser facilmente tratadas pela IA usando registros anteriores de pedidos de empréstimo para filtrar os inadimplentes.
- Phishing de e-mail. Este é um tipo de cibercrime em que sites e mensagens falsos são anunciados aos usuários, solicitando que eles compartilhem dados pessoais. Se uma pessoa não for muito cuidadosa, ela poderá inserir quaisquer dados confidenciais que possam torná-la vulnerável a ameaças. A melhor maneira de evitar essa fraude é o próprio usuário ter cuidado, no entanto, a IA pode fazer o trabalho de descobrir e-mails de fraude filtrando-os usando algoritmos básicos de aprendizado de máquina, como regressão.
- Fraudes de cartão de crédito. Este é o tipo mais comum de fraude de pagamento. Isso ocorre porque todos os detalhes são armazenados on-line, o que facilita o acesso de criminosos e hackers. Cartões enviados pelo correio também podem ser facilmente interceptados. Uma maneira de filtrar essas transações de fraude usando aprendizado de máquina é discutida abaixo.
- Roubo de identidade. O aprendizado de máquina para detectar roubo de identidade ajuda a verificar documentos de identidade valiosos, como passaportes, cartões PAN ou carteiras de motorista em tempo real. Além disso, as informações biométricas às vezes podem ser necessárias para melhorar ainda mais a segurança. Esses métodos de segurança precisam de autenticação pessoal, o que diminui muito a chance de fraudes.
Leia também sobre: Salário de Engenheiro de Machine Learning na Índia
Modelo para prever fraudes usando dados de cartão de crédito
Aqui, um conjunto de dados Kaggle muito famoso é usado para demonstrar como a detecção de fraudes funciona usando um modelo de rede neural simples.

Importações:
importar pandas como pd
importar numpy como np
importe tensorflow como tf
importar keras
de sklearn.preprocessing importação StandardScaler
de keras.models import Sequencial
de keras.layers importação Dense
de sklearn.model_selection importar train_test_split
de sklearn.metrics importar classificação_report
Dê uma olhada no conjunto de dados aqui . A coluna Valor é normalizada como todos os outros recursos e a coluna Tempo é removida por ser irrelevante.
data= pd.read_csv ( 'creditcard.csv' )
data [ 'Amount_norm' ] = StandardScaler () .fit_transform ( data [ 'Amount' ] .values.reshape ( -1 , 1 ))
data= data.drop ([ 'Quantidade' ], axis= 1 )

data= data.drop ([ 'Time' ], axis= 1 )
dados= dados [: -1 ]
data.info()
Agora, após alguma limpeza de dados, nosso conjunto de dados contém um total de 28 recursos e um destino, todos com valores flutuantes que não estão vazios.
Nosso alvo é a coluna Classe que determina se a transação de cartão de crédito específica é fraude ou não. Assim, o conjunto de dados é dividido adequadamente em treinar e testar, mantendo a proporção de divisão usual de 80:20. ( random_state é corrigido para ajudá-lo a reproduzir seus dados divididos)
X = data.iloc [:, data.columns != 'Classe' ]
y = data.iloc [:, data.columns == 'Classe' ]
X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size = 0.2 , random_state= 0 )
Usamos o modelo sequencial da biblioteca keras para construir uma rede neural com 3 camadas densas. A camada de saída contém apenas um único neurônio que usará a função sigmóide para resultar em uma classe positiva ou negativa.
O modelo é então compilado com o otimizador adam , embora seja altamente recomendável que você experimente diferentes valores de hiperparâmetros por conta própria, como o número de unidades em cada camada, ativação, otimizador, etc. conjunto de dados.
modelo= Sequencial ()
model.add ( Denso ( unidades = 16 , ativação = 'relu' , input_dim = 29 ))
model.add ( Dense ( unidades= 16 , ativação = 'relu' ))
model.add ( Dense ( unidades = 1 , ativação = 'sigmoid' ))
modelo. compilar ( otimizador = 'adam' , perda = 'binary_crossentropy' , métricas = [ 'precisão' ])
model.fit ( X_train , y_train , batch_size = 32 , epochs = 15 )
Este é o resultado depois de rodar o modelo por algumas épocas.
Vemos que o modelo dá 99,97% de precisão muito rápido. Abaixo, y_pred contém as previsões feitas pelo nosso modelo nos dados de teste, e um resumo claro de seu desempenho é mostrado.
y_pred = model.predict ( X_test )

y_pred = ( y_pred > 0,5 )
print ( relatório_classificação ( y_test , y_pred ))
Leia: Ideias de projetos de aprendizado de máquina para iniciantes
Conclusão
Assim, conseguimos construir com sucesso um modelo altamente preciso para determinar transações fraudulentas. Estes são muito úteis para fins de gerenciamento de risco.
Se você estiver interessado em aprender mais sobre aprendizado de máquina, confira o PG Diploma in Machine Learning & AI do IIIT-B e upGrad, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, IIIT- B Status de ex-aluno, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.