{"id":320,"date":"2024-08-27T00:01:48","date_gmt":"2024-08-27T03:01:48","guid":{"rendered":"https:\/\/softwarelivre-br.aomega.com.br\/?p=320"},"modified":"2024-09-22T21:46:10","modified_gmt":"2024-09-23T00:46:10","slug":"deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina","status":"publish","type":"post","link":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/","title":{"rendered":"Detec\u00e7\u00e3o de fraude de pagamentos online com aprendizado de m\u00e1quina"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"481\" height=\"403\" data-attachment-id=\"321\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud00\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud00.png?fit=481%2C403&amp;ssl=1\" data-orig-size=\"481,403\" data-comments-opened=\"1\" data-image-title=\"fraud00\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud00.png?fit=481%2C403&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud00.png?resize=481%2C403&#038;ssl=1\" alt=\"\" class=\"wp-image-321\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud00.png?w=481&amp;ssl=1 481w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud00.png?resize=300%2C251&amp;ssl=1 300w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A introdu\u00e7\u00e3o de sistemas de pagamento online ajudou muito na facilidade de pagamentos. Mas, ao mesmo tempo, aumentou em fraudes de pagamento. Fraudes de pagamento online podem acontecer com qualquer pessoa que use qualquer sistema de pagamento, especialmente ao fazer pagamentos com cart\u00e3o de cr\u00e9dito. \u00c9 por isso que a detec\u00e7\u00e3o de fraudes de pagamento online \u00e9 muito importante para as empresas de cart\u00e3o de cr\u00e9dito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No aprendizado de m\u00e1quina (machine learning), que vamos utilizar aqui para realizar a detec\u00e7\u00e3o de fraudes, temos tr\u00eas subcategorias importantes: O supervisionado, n\u00e3o supervisionado e aprendizado por refor\u00e7o. O aprendizado de m\u00e1quina supervisionado consiste no uso de&nbsp;<strong>conjuntos de dados rotulados<\/strong>&nbsp;para treinar algoritmos, permitindo que eles classifiquem dados ou fa\u00e7am previs\u00f5es com precis\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tipos de Problemas<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O aprendizado supervisionado aborda dois tipos principais de problemas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Classifica\u00e7\u00e3o<\/strong>: Atribui dados de teste a categorias espec\u00edficas (por exemplo, classificar spam em uma caixa de entrada).<\/li>\n\n\n\n<li><strong>Regress\u00e3o<\/strong>: Compreende a rela\u00e7\u00e3o entre vari\u00e1veis dependentes e independentes (por exemplo, prever receita de vendas).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">O problema de detec\u00e7\u00e3o de fraude \u00e9 tipicamente um problema de classifica\u00e7\u00e3o e um algoritmo para resolu\u00e7\u00e3o deste tipo de problema que iremos utilizar aqui \u00e9 o de &#8220;\u00e1rvores de decis\u00e3o\u201d (&#8220;decision tree&#8221;) embora posteriormente possamos usar um outro algoritmo tamb\u00e9m de aprendizado de m\u00e1quina supervisionado para comparar a performance, caso achemos que seja necess\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Detec\u00e7\u00e3o de fraude de pagamentos online com aprendizado de m\u00e1quina<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para identificar fraudes de pagamento online com aprendizado de m\u00e1quina, precisamos treinar um modelo de aprendizado de m\u00e1quina para classificar pagamentos fraudulentos e n\u00e3o fraudulentos. Para isso, precisamos de um conjunto de dados contendo informa\u00e7\u00f5es sobre fraudes de pagamentos online, para que possamos entender que tipo de transa\u00e7\u00f5es levam \u00e0 fraude. Para esta tarefa, coletei um&nbsp;<strong><a href=\"https:\/\/www.kaggle.com\/ealaxi\/paysim1\/download\">conjunto de dados<\/a><\/strong>&nbsp;do Kaggle, que cont\u00e9m informa\u00e7\u00f5es hist\u00f3ricas sobre transa\u00e7\u00f5es fraudulentas que podem ser usadas para detectar fraudes em pagamentos online. Abaixo est\u00e3o todas as colunas do conjunto de dados que estou usando aqui:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>step: representa uma unidade de tempo em que 1 passo (step) \u00e9 igual a 1 hora<\/li>\n\n\n\n<li>type: Tipo de transa\u00e7\u00e3o online<\/li>\n\n\n\n<li>value: o valor da transa\u00e7\u00e3o<\/li>\n\n\n\n<li>nameOrig: cliente que inicia a transa\u00e7\u00e3o<\/li>\n\n\n\n<li>oldbalanceOrg: saldo antes da transa\u00e7\u00e3o<\/li>\n\n\n\n<li>newbalanceOrig: saldo ap\u00f3s a transa\u00e7\u00e3o<\/li>\n\n\n\n<li>nameDest: destinat\u00e1rio da transa\u00e7\u00e3o<\/li>\n\n\n\n<li>oldbalanceDest: saldo inicial do destinat\u00e1rio antes da transa\u00e7\u00e3o<\/li>\n\n\n\n<li>newbalanceDest: o novo saldo do destinat\u00e1rio ap\u00f3s a transa\u00e7\u00e3o<\/li>\n\n\n\n<li>isFraud: transa\u00e7\u00e3o fraudulenta<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Detec\u00e7\u00e3o de fraudes em pagamentos online usando Python<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Importando as bibliotecas Python necess\u00e1rias e o&nbsp;<a href=\"https:\/\/www.kaggle.com\/ealaxi\/paysim1\/download\">conjunto de dados<\/a>&nbsp;necess\u00e1rios para esta tarefa:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>import pandas as pd <br>import numpy as np <br>data = pd.read_csv(&#8220;credit card.csv&#8221;) <br>print(data.head()) &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"258\" data-attachment-id=\"322\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud01\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?fit=886%2C357&amp;ssl=1\" data-orig-size=\"886,357\" data-comments-opened=\"1\" data-image-title=\"fraud01\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?fit=640%2C258&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?resize=640%2C258&#038;ssl=1\" alt=\"\" class=\"wp-image-322\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?w=886&amp;ssl=1 886w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?resize=300%2C121&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud01.png?resize=768%2C309&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Agora, vamos dar uma olhada se esse conjunto de dados tem algum valor nulo ou n\u00e3o:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>print(data.isnull().sum())<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"364\" height=\"413\" data-attachment-id=\"323\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud02\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud02.png?fit=364%2C413&amp;ssl=1\" data-orig-size=\"364,413\" data-comments-opened=\"1\" data-image-title=\"fraud02\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud02.png?fit=364%2C413&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud02.png?resize=364%2C413&#038;ssl=1\" alt=\"\" class=\"wp-image-323\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud02.png?w=364&amp;ssl=1 364w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud02.png?resize=264%2C300&amp;ssl=1 264w\" sizes=\"auto, (max-width: 364px) 100vw, 364px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Portanto, esse conjunto de dados n\u00e3o tem nenhum valor nulo. Antes de prosseguir, agora, vamos dar uma olhada no tipo de transa\u00e7\u00e3o mencionada no conjunto de dados:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td># Explorando o tipo de transa\u00e7\u00e3o <br>print(data.type.value_counts())<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"238\" data-attachment-id=\"328\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud03\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud03.png?fit=566%2C238&amp;ssl=1\" data-orig-size=\"566,238\" data-comments-opened=\"1\" data-image-title=\"fraud03\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud03.png?fit=566%2C238&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud03.png?resize=566%2C238&#038;ssl=1\" alt=\"\" class=\"wp-image-328\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud03.png?w=566&amp;ssl=1 566w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud03.png?resize=300%2C126&amp;ssl=1 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>type = data[&#8220;type&#8221;].value_counts() <br>transactions = type.index <br>quantity = type.values &nbsp; <br>import plotly.express as px <br>figure = px.pie(data, values=quantity, names=transactions,hole = 0.5, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title=&#8221;Distribui\u00e7\u00e3o do Tipo de Transa\u00e7\u00e3o&#8221;) <br>figure.show()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Distribui\u00e7\u00e3o do Tipo de Transa\u00e7\u00e3o:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"292\" data-attachment-id=\"329\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud04-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?fit=886%2C404&amp;ssl=1\" data-orig-size=\"886,404\" data-comments-opened=\"1\" data-image-title=\"fraud04-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?fit=640%2C292&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?resize=640%2C292&#038;ssl=1\" alt=\"\" class=\"wp-image-329\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?w=886&amp;ssl=1 886w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?resize=300%2C137&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud04-2.png?resize=768%2C350&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"># Excluindo colunas do tipo texto que n\u00e3o s\u00e3o relevantes<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>data = data.drop(columns=[&#8220;nameOrig&#8221;, &#8220;nameDest&#8221;]) <br>data.head()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"152\" data-attachment-id=\"331\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud05-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?fit=886%2C211&amp;ssl=1\" data-orig-size=\"886,211\" data-comments-opened=\"1\" data-image-title=\"fraud05-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?fit=640%2C152&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?resize=640%2C152&#038;ssl=1\" alt=\"\" class=\"wp-image-331\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?w=886&amp;ssl=1 886w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?resize=300%2C71&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud05-2.png?resize=768%2C183&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos transformar os recursos categ\u00f3ricos em num\u00e9ricos.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>data[&#8220;type&#8221;] = data[&#8220;type&#8221;].map({&#8220;CASH_OUT&#8221;: 1, &#8220;PAYMENT&#8221;: 2, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;CASH_IN&#8221;: 3, &#8220;TRANSFER&#8221;: 4, &#8220;DEBIT&#8221;: 5})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos dar uma olhada na correla\u00e7\u00e3o entre os recursos dos dados com a coluna&nbsp;<strong>isFraud<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td># Checking correlation correlation = data.corr() print(correlation[&#8220;isFraud&#8221;].sort_values(ascending=False))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"344\" data-attachment-id=\"332\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud06-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud06-1.png?fit=441%2C344&amp;ssl=1\" data-orig-size=\"441,344\" data-comments-opened=\"1\" data-image-title=\"fraud06-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud06-1.png?fit=441%2C344&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud06-1.png?resize=441%2C344&#038;ssl=1\" alt=\"\" class=\"wp-image-332\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud06-1.png?w=441&amp;ssl=1 441w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud06-1.png?resize=300%2C234&amp;ssl=1 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Verificamos que a correla\u00e7\u00e3o maior com a coluna isFraud \u00e9 das colunas amount e isFlaggedFraud.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui, tamb\u00e9m transformarei os valores da coluna isFraud em r\u00f3tulos No Fraud e Fraud para ter uma melhor compreens\u00e3o da sa\u00edda:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>data[&#8220;isFraud&#8221;] = data[&#8220;isFraud&#8221;].map({0: &#8220;No Fraud&#8221;, 1: &#8220;Fraud&#8221;}) print(data.head())<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"272\" data-attachment-id=\"334\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/fraud07\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?fit=886%2C376&amp;ssl=1\" data-orig-size=\"886,376\" data-comments-opened=\"1\" data-image-title=\"fraud07\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?fit=640%2C272&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?resize=640%2C272&#038;ssl=1\" alt=\"\" class=\"wp-image-334\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?w=886&amp;ssl=1 886w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?resize=300%2C127&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2024\/08\/fraud07.png?resize=768%2C326&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Modelo de detec\u00e7\u00e3o de fraude de pagamentos online<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos treinar um modelo de classifica\u00e7\u00e3o para classificar transa\u00e7\u00f5es fraudulentas e n\u00e3o fraudulentas. Antes de treinar o modelo, dividirei os dados em conjuntos de treinamento e teste:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"># Dividindo os dados em x e y<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>from sklearn.model_selection import train_test_split<br>x = np.array(data[[&#8220;type&#8221;, &#8220;amount&#8221;, &#8220;oldbalanceOrg&#8221;, &#8220;newbalanceOrig&#8221;]]) <br>y = np.array(data[[&#8220;isFraud&#8221;]]) &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos treinar o modelo de detec\u00e7\u00e3o de fraude de pagamentos online:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td># Treinando o modelo de machine learning DecisionTree <br>from sklearn.tree import DecisionTreeClassifier <br>xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size=0.10, random_state=42) <br>model = DecisionTreeClassifier() <br>model.fit(xtrain, ytrain) <br>print(model.score(xtest, ytest)) &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>0.999746959585831<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos perceber que o score (performance) do modelo \u00e9 praticamente de 100%, por isso n\u00e3o vamos tentar implementar outro modelo para compara\u00e7\u00e3o porque o nosso modelo \u00e9 muito bom.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos classificar se uma transa\u00e7\u00e3o \u00e9 uma fraude ou n\u00e3o, alimentando uma transa\u00e7\u00e3o no modelo:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td># prediction <br>#features = [type, amount, oldbalanceOrg, newbalanceOrig] <br>features = np.array([[4, 9000.60, 9000.60, 0.0]]) <br>print(model.predict(features)) &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>[&#8216;Fraud&#8217;] &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 assim que podemos detectar fraudes em pagamentos online com aprendizado de m\u00e1quina usando Python. A detec\u00e7\u00e3o de fraudes de pagamento online \u00e9 uma das aplica\u00e7\u00f5es da ci\u00eancia de dados em&nbsp;<strong>finan\u00e7as<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O notebook jupyter com o c\u00f3digo em Python do projeto, 100% funcional e testado, se encontra dispon\u00edvel em <a href=\"https:\/\/github.com\/evillafuerte\/fraud_detection\">https:\/\/github.com\/evillafuerte\/fraud_detection<\/a> .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Autor: Ernesto Villafuerte Oyola<br>Cientista de Dados e Eng. de Software<br>Msc. Computa\u00e7\u00e3o (Intelig\u00eancia Artificial)<br>Consultor e Professor<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A introdu\u00e7\u00e3o de sistemas de pagamento online ajudou muito na facilidade de pagamentos. Mas, ao mesmo tempo, aumentou em fraudes de pagamento. Fraudes de pagamento online podem acontecer com qualquer pessoa que use qualquer sistema de pagamento, especialmente ao fazer pagamentos com cart\u00e3o de cr\u00e9dito. \u00c9 por isso que a detec\u00e7\u00e3o de fraudes de pagamento &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2024\/08\/27\/deteccao-de-fraude-de-pagamentos-online-com-aprendizado-de-maquina\/\" class=\"more-link\">Continue lendo<span class=\"screen-reader-text\"> &#8220;Detec\u00e7\u00e3o de fraude de pagamentos online com aprendizado de m\u00e1quina&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[2],"tags":[12,104,106,107,105,91,69],"class_list":["post-320","post","type-post","status-publish","format-standard","hentry","category-datascience","tag-aomega","tag-aprendizado-de-maquina","tag-aprendizado-supervisionado","tag-decisiontree","tag-detecao-de-fraude","tag-ernesto-villafuerte-oyola","tag-machine-learning","entry"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7PCWO-5a","jetpack-related-posts":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=320"}],"version-history":[{"count":7,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/320\/revisions"}],"predecessor-version":[{"id":352,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/320\/revisions\/352"}],"wp:attachment":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}