<jupyter_start><jupyter_text>reproducion de modelo de aprendizaje  tomado de: Creditcardfraud  y del Video: https://www.youtube.com/watch?v=NCgjcHLFNDg Es importante que las compañías de tarjetas de crédito puedan reconocer las transacciones fraudulentas de tarjetas de crédito para que no se cobre a los clientes por artículos que no compraron.Time: Número de segundos transcurridos entre esta transacción y la primera transacción en el conjunto de datosv1-v8: puede ser el resultado de una reducción de la dimensionalidad de PCA para proteger las identidades de los usuarios y las funciones sensibles (v1-v28)<jupyter_code>import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
from joblib import parallel, delayed
from sklearn.model_selection import  train_test_split
from sklearn.linear_model import  LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.impute import SimpleImputer
# cargando datos de dataset
df = pd.read_csv('/content/creditcard.csv')
# df=df[['price',	'crime_rate',	'resid_area',	'air_qual',	'room_num',	'age',	'dist1',	'dist2',	'dist3',	'dist4',	'teachers',	'poor_prop',	'airport',	'n_hos_beds',	'n_hot_rooms',	'waterbody',	'rainfall']].dropna() # dropna se utliza para eliminar datos perdidos o faltantes
df.head(5)
df.tail() # Devuelve las últimas n filas.por defecto n= 5
df.info()
df.shape # ver la cantidad de columnas i filas
# verificamos el numero de valores perdidos
df.isnull().sum()<jupyter_output><empty_output><jupyter_text>tecnicas de impitacion<jupyter_code>from sklearn.impute import SimpleImputer
columns = ['V22', 'V23', 'V24', 'V25', 'V26', 'V27', 'V28']
imp = SimpleImputer(missing_values=np.NaN,strategy='most_frequent')
x = df[columns]
x = imp.fit_transform(x)
print(x)
# verificamos el numero de valores perdidos
df.isnull().sum()
# distribucion de las transacciones legitimas con  0  & transaciones frudulentas con 1
df['Class'].value_counts()# cuenta los valoes  de cada clase 
#  separacion de los datos para analisis
legit = df[df.Class==0]
fraud = df[df.Class==1]
print(legit.shape)
print(fraud.shape)
# mediciones estadisticas de dataset 
# descripcion del monto de las transaciones legitimas
legit.Amount.describe()
# describcion del monto del fraude
fraud.Amount.describe()
# compare los valores para ambas transaciones
df.groupby('Class').mean()<jupyter_output><empty_output><jupyter_text>Construccion de un ejemplo de dataset que contenga una similar distribucion normal trasacional y draudulentaNumero de transaciones fraudulentas<jupyter_code>legit_sample = legit.sample(n=492)
legit_sample.head()
new_dataset = pd.concat([legit_sample, fraud], axis=0)
new_dataset
new_dataset['Class'].value_counts()
new_dataset.groupby('Class').mean() # se nota uan pequeña  variacion en los ultimos digitos<jupyter_output><empty_output><jupyter_text>MLDividiendo los datos en datos  de entrenamiento<jupyter_code>X = new_dataset.drop(columns='Class', axis =1)
y = new_dataset['Class']
print(X)
print(y)<jupyter_output><empty_output><jupyter_text>Dividiendo los datos en datos de prueba<jupyter_code>X_train, X_test, y_train, y_test = train_test_split(X,y, test_size=0.25, stratify=y, random_state=22) 
print(X.shape, X_train.shape, X_test.shape)<jupyter_output><empty_output><jupyter_text>IMportando <NAME><jupyter_code>model = LogisticRegression()
# entrenamiento del modelo 
model.fit(X_train, y_train)
# Accuracy Score on training data
X_train_predict = model.predict(X_train)
train_accuracy = accuracy_score(X_train_predict, y_train)
print('Accuracy on Training data : ', train_accuracy)
print(X_train_predict.shape)
print(X_train_predict)
# accuracy on test data
X_test_predict = model.predict(X_test)
test_accuracy = accuracy_score(X_test_predict, y_test)
print('Accuracy on Test data : ', test_accuracy)
print(X_test_predict)
print(X_test_predict.shape)
predicions=pd.DataFrame(X_test_predict,columns=['valor_total_avaluo'])
predicions
predicions.to_csv('Predict_class.csv')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09913258983890955, 'fraction_numerical': 0.009665427509293681, 'mean_word_length': 7.390852390852391, 'pattern_counts': {'":': 0, '<': 26, '<?xml version=': 0, '>': 26, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '107259', 'license': 'MIT', 'n_tokens_mistral': 1465, 'n_tokens_neox': 1426, 'n_words': 368, 'path': 'Credit_Card_Fraud_Detection.ipynb', 'repo_name': 'WuilsonEstacio/Finanzas-con-Python', 'size': '4046'}