{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"mount_file_id":"1zjGmEneyudVmLpMURkhYqWDBrUogGwUu","authorship_tag":"ABX9TyMQ03TKrT9EBnOTfoqQ+JR4"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","source":["#Ingresemos las librerias a usar\n","import numpy as np\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","import seaborn as sns\n","import os\n","\n"],"metadata":{"id":"AFIv32VltwMo","executionInfo":{"status":"ok","timestamp":1720198148840,"user_tz":300,"elapsed":424,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":2,"outputs":[]},{"cell_type":"code","source":["covid = pd.read_csv('covid.csv')"],"metadata":{"id":"W_6dDRbi5K69","executionInfo":{"status":"ok","timestamp":1720198151067,"user_tz":300,"elapsed":2,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":3,"outputs":[]},{"cell_type":"code","source":["covid.columns"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"exM1Jg2j5RWV","executionInfo":{"status":"ok","timestamp":1720198158915,"user_tz":300,"elapsed":429,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"1797bc73-9a6e-4f0b-8047-efe8004e5ccd"},"execution_count":6,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Index(['BreathingProblem', 'Fever', 'DryCough', 'Sorethroat', 'RunningNose',\n"," 'Asthma', 'ChronicLungDisease', 'Headache', 'HeartDisease', 'Diabetes',\n"," 'HyperTension', 'Fatigue', 'Gastrointestinal', 'Abroadtravel',\n"," 'ContactwithCOVIDPatient', 'AttendedLargeGathering',\n"," 'VisitedPublicExposedPlaces', 'FamilyworkinginPublicExposedPlaces',\n"," 'WearingMasks', 'SanitizationfromMarket', 'COVID-19'],\n"," dtype='object')"]},"metadata":{},"execution_count":6}]},{"cell_type":"code","source":["#Modificar los nombres de las columnas para no tener espacios en blanco\n","covid.columns = covid.columns.str.replace(' ', '')"],"metadata":{"id":"E1zH9MNL5T0t","executionInfo":{"status":"ok","timestamp":1720198156511,"user_tz":300,"elapsed":462,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":5,"outputs":[]},{"cell_type":"code","source":["covid.isnull().sum()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"QcrRyn8T5ZFF","executionInfo":{"status":"ok","timestamp":1720198163742,"user_tz":300,"elapsed":409,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"66bac1d6-7690-40c9-805e-1a9823be7be5"},"execution_count":7,"outputs":[{"output_type":"execute_result","data":{"text/plain":["BreathingProblem 0\n","Fever 0\n","DryCough 0\n","Sorethroat 0\n","RunningNose 0\n","Asthma 0\n","ChronicLungDisease 0\n","Headache 0\n","HeartDisease 0\n","Diabetes 0\n","HyperTension 0\n","Fatigue 0\n","Gastrointestinal 0\n","Abroadtravel 0\n","ContactwithCOVIDPatient 0\n","AttendedLargeGathering 0\n","VisitedPublicExposedPlaces 0\n","FamilyworkinginPublicExposedPlaces 0\n","WearingMasks 0\n","SanitizationfromMarket 0\n","COVID-19 0\n","dtype: int64"]},"metadata":{},"execution_count":7}]},{"cell_type":"code","source":["covid"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":461},"id":"crlly1TW5ru-","executionInfo":{"status":"ok","timestamp":1720198361903,"user_tz":300,"elapsed":5,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"360ceb61-6a23-4721-c943-f888c04c122f","collapsed":true},"execution_count":14,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" BreathingProblem Fever DryCough Sorethroat RunningNose Asthma \\\n","0 1 1 1 1 1 0 \n","1 1 1 1 1 0 1 \n","2 1 1 1 1 1 1 \n","3 1 1 1 0 0 1 \n","4 1 1 1 1 1 0 \n","... ... ... ... ... ... ... \n","5429 1 1 0 1 1 1 \n","5430 1 1 1 0 1 1 \n","5431 1 1 1 0 0 0 \n","5432 1 1 1 0 1 0 \n","5433 1 1 1 0 1 1 \n","\n"," ChronicLungDisease Headache HeartDisease Diabetes ... Fatigue \\\n","0 0 0 0 1 ... 1 \n","1 1 1 0 0 ... 1 \n","2 1 1 0 1 ... 1 \n","3 0 0 1 1 ... 0 \n","4 1 1 1 1 ... 0 \n","... ... ... ... ... ... ... \n","5429 1 0 0 0 ... 1 \n","5430 0 1 0 1 ... 1 \n","5431 0 0 1 0 ... 0 \n","5432 0 1 1 0 ... 0 \n","5433 0 1 0 1 ... 1 \n","\n"," Gastrointestinal Abroadtravel ContactwithCOVIDPatient \\\n","0 1 0 1 \n","1 0 0 0 \n","2 1 1 0 \n","3 0 1 0 \n","4 1 0 1 \n","... ... ... ... \n","5429 1 0 0 \n","5430 0 0 0 \n","5431 0 0 0 \n","5432 0 0 0 \n","5433 0 0 0 \n","\n"," AttendedLargeGathering VisitedPublicExposedPlaces \\\n","0 0 1 \n","1 1 1 \n","2 0 0 \n","3 1 1 \n","4 0 1 \n","... ... ... \n","5429 0 0 \n","5430 0 0 \n","5431 0 0 \n","5432 0 0 \n","5433 0 0 \n","\n"," FamilyworkinginPublicExposedPlaces WearingMasks \\\n","0 1 0 \n","1 0 0 \n","2 0 0 \n","3 0 0 \n","4 0 0 \n","... ... ... \n","5429 0 0 \n","5430 0 0 \n","5431 0 0 \n","5432 0 0 \n","5433 0 0 \n","\n"," SanitizationfromMarket COVID-19 \n","0 0 1 \n","1 0 1 \n","2 0 1 \n","3 0 1 \n","4 0 1 \n","... ... ... \n","5429 0 1 \n","5430 0 1 \n","5431 0 0 \n","5432 0 0 \n","5433 0 0 \n","\n","[5434 rows x 21 columns]"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
BreathingProblemFeverDryCoughSorethroatRunningNoseAsthmaChronicLungDiseaseHeadacheHeartDiseaseDiabetes...FatigueGastrointestinalAbroadtravelContactwithCOVIDPatientAttendedLargeGatheringVisitedPublicExposedPlacesFamilyworkinginPublicExposedPlacesWearingMasksSanitizationfromMarketCOVID-19
01111100001...1101011001
11111011100...1000110001
21111111101...1110000001
31110010011...0010110001
41111101111...0101010001
..................................................................
54291101111000...1100000001
54301110110101...1000000001
54311110000010...0000000000
54321110100110...0000000000
54331110110101...1000000000
\n","

5434 rows × 21 columns

\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n"," \n"," \n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","variable_name":"covid"}},"metadata":{},"execution_count":14}]},{"cell_type":"code","source":["covid.dtypes"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nYaZlHdx6Avl","executionInfo":{"status":"ok","timestamp":1720198175139,"user_tz":300,"elapsed":404,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"5fdac631-f9d7-41cc-b236-b7ebebe6b451","collapsed":true},"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["BreathingProblem object\n","Fever object\n","DryCough object\n","Sorethroat object\n","RunningNose object\n","Asthma object\n","ChronicLungDisease object\n","Headache object\n","HeartDisease object\n","Diabetes object\n","HyperTension object\n","Fatigue object\n","Gastrointestinal object\n","Abroadtravel object\n","ContactwithCOVIDPatient object\n","AttendedLargeGathering object\n","VisitedPublicExposedPlaces object\n","FamilyworkinginPublicExposedPlaces object\n","WearingMasks object\n","SanitizationfromMarket object\n","COVID-19 object\n","dtype: object"]},"metadata":{},"execution_count":9}]},{"cell_type":"code","source":["#Quiero convertir los Yes a 1 y los No a 0\n","#Ademas, despues de hacer el cambio de los datos, quiero cambiar el tipo de dato a int\n","#generar un for que recorra todos las columnas y haga el cambio de todos los datos\n","\n","for column in covid.columns:\n"," if covid[column].dtype == 'object':\n"," covid[column] = covid[column].replace({'Yes': 1, 'No': 0})\n"," covid[column] = covid[column].astype('int')\n"],"metadata":{"id":"tHV77CS36F-V","executionInfo":{"status":"ok","timestamp":1720198359872,"user_tz":300,"elapsed":411,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":13,"outputs":[]},{"cell_type":"code","source":["#Ya estamos con el dataset listo\n","#Veamos los niveles de la variable dependiente (COVID-19) CUALITATIVA\n","#MODELO DE CLASIFICACIÓN\n","covid['COVID-19'].unique()\n","# 1 => YES\n","# 0 => NO\n","#ESTA ES UNA DISTRIBICIÓN BINOMIAL"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nHg_hoRv0AL6","executionInfo":{"status":"ok","timestamp":1720198507904,"user_tz":300,"elapsed":391,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"2d579b42-058d-4e53-97f5-75b43507798a"},"execution_count":17,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([1, 0])"]},"metadata":{},"execution_count":17}]},{"cell_type":"code","source":["#Viendo la distribución de los niveles de la\n","#Variable dependiente de forma grafica\n","sns.countplot( x = \"COVID-19\", data = covid)\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":466},"id":"RhhVkpm10jDj","executionInfo":{"status":"ok","timestamp":1720198621268,"user_tz":300,"elapsed":422,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"21a54503-6150-41a8-eeec-59bd01aa6321"},"execution_count":19,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":19},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["# Dividiendo datos para el testeo\n","from sklearn.model_selection import train_test_split\n","X = covid.drop('COVID-19', axis=1)\n","y = covid['COVID-19']\n","\n","X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n"],"metadata":{"id":"fLjkNuZV1VKm","executionInfo":{"status":"ok","timestamp":1720198840736,"user_tz":300,"elapsed":404,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":20,"outputs":[]},{"cell_type":"code","source":["#Normalizar los Datos:\n","from sklearn.preprocessing import StandardScaler\n","scaler = StandardScaler()\n","X_train = scaler.fit_transform(X_train)\n","X_test = scaler.transform(X_test)\n"],"metadata":{"id":"WEkzspv710jL","executionInfo":{"status":"ok","timestamp":1720198864768,"user_tz":300,"elapsed":418,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":21,"outputs":[]},{"cell_type":"code","source":["#Contruyendo el modelo de backpropagation\n","import tensorflow as tf\n","from tensorflow.keras.models import Sequential\n","from tensorflow.keras.layers import Dense"],"metadata":{"id":"SBcuP0602EnL","executionInfo":{"status":"ok","timestamp":1720198983265,"user_tz":300,"elapsed":4386,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":22,"outputs":[]},{"cell_type":"code","source":["#Construccion del modelo\n","model = Sequential()\n","model.add(Dense(64, activation='relu', input_dim=X_train.shape[1])) # Capa oculta con 64 neuronas\n","model.add(Dense(32, activation='relu')) # Capa oculta con 64 neuronas\n","model.add(Dense(1, activation='sigmoid')) # Capa de salida con una neurona (para clasificación binaria)"],"metadata":{"id":"-aqnHAxK2X-U","executionInfo":{"status":"ok","timestamp":1720199080269,"user_tz":300,"elapsed":407,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":23,"outputs":[]},{"cell_type":"code","source":["#Compilacion del Modelo\n","model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])"],"metadata":{"id":"E9fEk7DC2vJj","executionInfo":{"status":"ok","timestamp":1720199135336,"user_tz":300,"elapsed":423,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}}},"execution_count":24,"outputs":[]},{"cell_type":"code","source":["# Entrenar el modelo\n","history = model.fit(X_train, y_train, epochs=100, batch_size=10, validation_split=0.2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nbFtvBJx2-4_","executionInfo":{"status":"ok","timestamp":1720199244215,"user_tz":300,"elapsed":94734,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"ed56fc69-1f3a-4852-a06e-6634a6c00bfa"},"execution_count":25,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/100\n","305/305 [==============================] - 5s 6ms/step - loss: 0.1653 - accuracy: 0.9481 - val_loss: 0.0899 - val_accuracy: 0.9645\n","Epoch 2/100\n","305/305 [==============================] - 2s 7ms/step - loss: 0.0569 - accuracy: 0.9770 - val_loss: 0.0673 - val_accuracy: 0.9724\n","Epoch 3/100\n","305/305 [==============================] - 4s 12ms/step - loss: 0.0432 - accuracy: 0.9819 - val_loss: 0.0532 - val_accuracy: 0.9737\n","Epoch 4/100\n","305/305 [==============================] - 3s 11ms/step - loss: 0.0398 - accuracy: 0.9813 - val_loss: 0.0532 - val_accuracy: 0.9750\n","Epoch 5/100\n","305/305 [==============================] - 2s 6ms/step - loss: 0.0391 - accuracy: 0.9809 - val_loss: 0.0578 - val_accuracy: 0.9750\n","Epoch 6/100\n","305/305 [==============================] - 2s 7ms/step - loss: 0.0370 - accuracy: 0.9803 - val_loss: 0.0544 - val_accuracy: 0.9711\n","Epoch 7/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0333 - accuracy: 0.9806 - val_loss: 0.0524 - val_accuracy: 0.9750\n","Epoch 8/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0348 - accuracy: 0.9829 - val_loss: 0.0518 - val_accuracy: 0.9763\n","Epoch 9/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0355 - accuracy: 0.9813 - val_loss: 0.0582 - val_accuracy: 0.9724\n","Epoch 10/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0321 - accuracy: 0.9845 - val_loss: 0.0559 - val_accuracy: 0.9763\n","Epoch 11/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0345 - accuracy: 0.9813 - val_loss: 0.0552 - val_accuracy: 0.9737\n","Epoch 12/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0356 - accuracy: 0.9819 - val_loss: 0.0537 - val_accuracy: 0.9711\n","Epoch 13/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0339 - accuracy: 0.9822 - val_loss: 0.0536 - val_accuracy: 0.9750\n","Epoch 14/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0343 - accuracy: 0.9813 - val_loss: 0.0558 - val_accuracy: 0.9724\n","Epoch 15/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0323 - accuracy: 0.9809 - val_loss: 0.0544 - val_accuracy: 0.9750\n","Epoch 16/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0335 - accuracy: 0.9822 - val_loss: 0.0567 - val_accuracy: 0.9737\n","Epoch 17/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0324 - accuracy: 0.9826 - val_loss: 0.0543 - val_accuracy: 0.9763\n","Epoch 18/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0318 - accuracy: 0.9819 - val_loss: 0.0604 - val_accuracy: 0.9737\n","Epoch 19/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0321 - accuracy: 0.9829 - val_loss: 0.0520 - val_accuracy: 0.9724\n","Epoch 20/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0334 - accuracy: 0.9836 - val_loss: 0.0546 - val_accuracy: 0.9750\n","Epoch 21/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0317 - accuracy: 0.9826 - val_loss: 0.0573 - val_accuracy: 0.9737\n","Epoch 22/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0314 - accuracy: 0.9813 - val_loss: 0.0548 - val_accuracy: 0.9763\n","Epoch 23/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0314 - accuracy: 0.9819 - val_loss: 0.0574 - val_accuracy: 0.9724\n","Epoch 24/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0325 - accuracy: 0.9836 - val_loss: 0.0561 - val_accuracy: 0.9737\n","Epoch 25/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0319 - accuracy: 0.9826 - val_loss: 0.0558 - val_accuracy: 0.9737\n","Epoch 26/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0314 - accuracy: 0.9839 - val_loss: 0.0537 - val_accuracy: 0.9763\n","Epoch 27/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0314 - accuracy: 0.9842 - val_loss: 0.0565 - val_accuracy: 0.9711\n","Epoch 28/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0322 - accuracy: 0.9822 - val_loss: 0.0563 - val_accuracy: 0.9737\n","Epoch 29/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0313 - accuracy: 0.9842 - val_loss: 0.0582 - val_accuracy: 0.9750\n","Epoch 30/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0300 - accuracy: 0.9832 - val_loss: 0.0555 - val_accuracy: 0.9763\n","Epoch 31/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0318 - accuracy: 0.9829 - val_loss: 0.0600 - val_accuracy: 0.9750\n","Epoch 32/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0312 - accuracy: 0.9836 - val_loss: 0.0585 - val_accuracy: 0.9750\n","Epoch 33/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0313 - accuracy: 0.9836 - val_loss: 0.0545 - val_accuracy: 0.9750\n","Epoch 34/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0310 - accuracy: 0.9819 - val_loss: 0.0557 - val_accuracy: 0.9750\n","Epoch 35/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0321 - accuracy: 0.9809 - val_loss: 0.0555 - val_accuracy: 0.9763\n","Epoch 36/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0308 - accuracy: 0.9839 - val_loss: 0.0550 - val_accuracy: 0.9763\n","Epoch 37/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0304 - accuracy: 0.9836 - val_loss: 0.0582 - val_accuracy: 0.9750\n","Epoch 38/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0306 - accuracy: 0.9832 - val_loss: 0.0569 - val_accuracy: 0.9750\n","Epoch 39/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0301 - accuracy: 0.9842 - val_loss: 0.0555 - val_accuracy: 0.9763\n","Epoch 40/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0306 - accuracy: 0.9832 - val_loss: 0.0576 - val_accuracy: 0.9750\n","Epoch 41/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0302 - accuracy: 0.9845 - val_loss: 0.0575 - val_accuracy: 0.9763\n","Epoch 42/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0301 - accuracy: 0.9832 - val_loss: 0.0590 - val_accuracy: 0.9750\n","Epoch 43/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0309 - accuracy: 0.9849 - val_loss: 0.0565 - val_accuracy: 0.9763\n","Epoch 44/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0306 - accuracy: 0.9842 - val_loss: 0.0550 - val_accuracy: 0.9763\n","Epoch 45/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0310 - accuracy: 0.9836 - val_loss: 0.0574 - val_accuracy: 0.9750\n","Epoch 46/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0306 - accuracy: 0.9826 - val_loss: 0.0558 - val_accuracy: 0.9763\n","Epoch 47/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0297 - accuracy: 0.9832 - val_loss: 0.0590 - val_accuracy: 0.9763\n","Epoch 48/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0296 - accuracy: 0.9845 - val_loss: 0.0591 - val_accuracy: 0.9750\n","Epoch 49/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9842 - val_loss: 0.0608 - val_accuracy: 0.9763\n","Epoch 50/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0307 - accuracy: 0.9832 - val_loss: 0.0588 - val_accuracy: 0.9763\n","Epoch 51/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0299 - accuracy: 0.9839 - val_loss: 0.0585 - val_accuracy: 0.9763\n","Epoch 52/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0299 - accuracy: 0.9832 - val_loss: 0.0604 - val_accuracy: 0.9763\n","Epoch 53/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0297 - accuracy: 0.9839 - val_loss: 0.0608 - val_accuracy: 0.9750\n","Epoch 54/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0295 - accuracy: 0.9845 - val_loss: 0.0588 - val_accuracy: 0.9763\n","Epoch 55/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0294 - accuracy: 0.9839 - val_loss: 0.0595 - val_accuracy: 0.9750\n","Epoch 56/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0302 - accuracy: 0.9839 - val_loss: 0.0609 - val_accuracy: 0.9750\n","Epoch 57/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0295 - accuracy: 0.9839 - val_loss: 0.0604 - val_accuracy: 0.9763\n","Epoch 58/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0293 - accuracy: 0.9845 - val_loss: 0.0618 - val_accuracy: 0.9750\n","Epoch 59/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0293 - accuracy: 0.9845 - val_loss: 0.0624 - val_accuracy: 0.9763\n","Epoch 60/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0298 - accuracy: 0.9839 - val_loss: 0.0619 - val_accuracy: 0.9750\n","Epoch 61/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0296 - accuracy: 0.9836 - val_loss: 0.0607 - val_accuracy: 0.9763\n","Epoch 62/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0299 - accuracy: 0.9839 - val_loss: 0.0600 - val_accuracy: 0.9763\n","Epoch 63/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9842 - val_loss: 0.0617 - val_accuracy: 0.9763\n","Epoch 64/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9842 - val_loss: 0.0607 - val_accuracy: 0.9750\n","Epoch 65/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9842 - val_loss: 0.0602 - val_accuracy: 0.9763\n","Epoch 66/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9845 - val_loss: 0.0595 - val_accuracy: 0.9750\n","Epoch 67/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0293 - accuracy: 0.9842 - val_loss: 0.0606 - val_accuracy: 0.9763\n","Epoch 68/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0299 - accuracy: 0.9842 - val_loss: 0.0633 - val_accuracy: 0.9763\n","Epoch 69/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0296 - accuracy: 0.9845 - val_loss: 0.0636 - val_accuracy: 0.9750\n","Epoch 70/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0295 - accuracy: 0.9845 - val_loss: 0.0602 - val_accuracy: 0.9763\n","Epoch 71/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0295 - accuracy: 0.9845 - val_loss: 0.0622 - val_accuracy: 0.9750\n","Epoch 72/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0292 - accuracy: 0.9842 - val_loss: 0.0615 - val_accuracy: 0.9763\n","Epoch 73/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0292 - accuracy: 0.9845 - val_loss: 0.0627 - val_accuracy: 0.9750\n","Epoch 74/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0292 - accuracy: 0.9842 - val_loss: 0.0645 - val_accuracy: 0.9750\n","Epoch 75/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0298 - accuracy: 0.9842 - val_loss: 0.0647 - val_accuracy: 0.9763\n","Epoch 76/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0294 - accuracy: 0.9845 - val_loss: 0.0657 - val_accuracy: 0.9750\n","Epoch 77/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0297 - accuracy: 0.9839 - val_loss: 0.0622 - val_accuracy: 0.9750\n","Epoch 78/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0293 - accuracy: 0.9852 - val_loss: 0.0626 - val_accuracy: 0.9763\n","Epoch 79/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0295 - accuracy: 0.9845 - val_loss: 0.0627 - val_accuracy: 0.9750\n","Epoch 80/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0295 - accuracy: 0.9842 - val_loss: 0.0640 - val_accuracy: 0.9763\n","Epoch 81/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0302 - accuracy: 0.9842 - val_loss: 0.0610 - val_accuracy: 0.9763\n","Epoch 82/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0296 - accuracy: 0.9845 - val_loss: 0.0611 - val_accuracy: 0.9750\n","Epoch 83/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0306 - accuracy: 0.9845 - val_loss: 0.0584 - val_accuracy: 0.9763\n","Epoch 84/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0292 - accuracy: 0.9839 - val_loss: 0.0618 - val_accuracy: 0.9763\n","Epoch 85/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0298 - accuracy: 0.9839 - val_loss: 0.0605 - val_accuracy: 0.9750\n","Epoch 86/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0290 - accuracy: 0.9845 - val_loss: 0.0624 - val_accuracy: 0.9763\n","Epoch 87/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0293 - accuracy: 0.9842 - val_loss: 0.0628 - val_accuracy: 0.9763\n","Epoch 88/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0290 - accuracy: 0.9842 - val_loss: 0.0631 - val_accuracy: 0.9763\n","Epoch 89/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0289 - accuracy: 0.9842 - val_loss: 0.0631 - val_accuracy: 0.9763\n","Epoch 90/100\n","305/305 [==============================] - 1s 4ms/step - loss: 0.0292 - accuracy: 0.9842 - val_loss: 0.0628 - val_accuracy: 0.9763\n","Epoch 91/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0288 - accuracy: 0.9845 - val_loss: 0.0643 - val_accuracy: 0.9763\n","Epoch 92/100\n","305/305 [==============================] - 1s 3ms/step - loss: 0.0292 - accuracy: 0.9829 - val_loss: 0.0624 - val_accuracy: 0.9763\n","Epoch 93/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0291 - accuracy: 0.9845 - val_loss: 0.0635 - val_accuracy: 0.9750\n","Epoch 94/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0290 - accuracy: 0.9842 - val_loss: 0.0640 - val_accuracy: 0.9750\n","Epoch 95/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0289 - accuracy: 0.9845 - val_loss: 0.0629 - val_accuracy: 0.9763\n","Epoch 96/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0318 - accuracy: 0.9836 - val_loss: 0.0619 - val_accuracy: 0.9763\n","Epoch 97/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0288 - accuracy: 0.9842 - val_loss: 0.0638 - val_accuracy: 0.9750\n","Epoch 98/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0289 - accuracy: 0.9842 - val_loss: 0.0634 - val_accuracy: 0.9763\n","Epoch 99/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0289 - accuracy: 0.9845 - val_loss: 0.0646 - val_accuracy: 0.9750\n","Epoch 100/100\n","305/305 [==============================] - 1s 2ms/step - loss: 0.0288 - accuracy: 0.9842 - val_loss: 0.0674 - val_accuracy: 0.9750\n"]}]},{"cell_type":"code","source":["# Evaluar el modelo\n","loss, accuracy = model.evaluate(X_test, y_test)\n","print(f'Pérdida: {loss}')\n","print(f'Precisión: {accuracy}')\n","\n","# Hacer predicciones\n","y_pred = model.predict(X_test)\n","y_pred = (y_pred > 0.5).astype(int) # Convertir probabilidades en clases\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"EgF_43Iu3Xd0","executionInfo":{"status":"ok","timestamp":1720199346308,"user_tz":300,"elapsed":1194,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"0b59dd90-b0a3-4f9e-d616-843161c838fb"},"execution_count":29,"outputs":[{"output_type":"stream","name":"stdout","text":["51/51 [==============================] - 0s 5ms/step - loss: 0.0464 - accuracy: 0.9822\n","Pérdida: 0.04644142463803291\n","Precisión: 0.9822195172309875\n","51/51 [==============================] - 0s 4ms/step\n"]}]},{"cell_type":"code","source":["# Mostrar resultados\n","from sklearn.metrics import classification_report, confusion_matrix\n","\n","print(confusion_matrix(y_test, y_pred))\n","print(classification_report(y_test, y_pred))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"lOaM_10I3eYL","executionInfo":{"status":"ok","timestamp":1720199350295,"user_tz":300,"elapsed":402,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"813a97b7-a7a1-47c5-aed3-f411ebb3db5e"},"execution_count":30,"outputs":[{"output_type":"stream","name":"stdout","text":["[[ 305 11]\n"," [ 18 1297]]\n"," precision recall f1-score support\n","\n"," 0 0.94 0.97 0.95 316\n"," 1 0.99 0.99 0.99 1315\n","\n"," accuracy 0.98 1631\n"," macro avg 0.97 0.98 0.97 1631\n","weighted avg 0.98 0.98 0.98 1631\n","\n"]}]},{"cell_type":"code","source":["# Guardar el modelo en un archivo .h5\n","model.save('modelo_entrenado.h5')\n","print('Modelo guardado como modelo_entrenado.h5')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"pui6KLGF30V4","executionInfo":{"status":"ok","timestamp":1720199368587,"user_tz":300,"elapsed":374,"user":{"displayName":"Lucho Sykes","userId":"12121905281867821086"}},"outputId":"6366e8d7-5a9b-48eb-8db7-7e08d1e46f5b"},"execution_count":31,"outputs":[{"output_type":"stream","name":"stdout","text":["Modelo guardado como modelo_entrenado.h5\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/keras/src/engine/training.py:3103: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n"," saving_api.save_model(\n"]}]}]}