import pandas as pd
import numpy as np
from sklearn import linear_model
from sklearn import model_selection
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
import seaborn as sb
%matplotlib inline
dataframe0 = pd.read_csv(r"covid_casos.csv")
dataframe0.head()
label | Sexo | Edad | Etnia | Indice de Masa Corporal | Condición Económica | Ejercicio | Habitos relacionados con el tabaquismo | Habitos relacionados con el alcoholismo | Hipertension Arterial | ... | Ha tenido tos | Ha tenido fiebre | Ha tenido Dificultad para respirar | Ha tenido o tuvo Dolor de garganta en los últimos dias | Ha tenido algun brote en la piel | Ha perdido el olfato | Ha perdido el gusto | Ha tenido dolores musculares | Ha tenido diarea en los ultimos dias | Como ha sido la evolución de su caso | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 0 | 2 | 2 | 4 | 3 | 3 | 3 | 3 | ... | 3 | 1 | 2 | 1 | 4 | 1 | 3 | 1 | 4 | 1 |
1 | 2 | 1 | 5 | 2 | 2 | 4 | 3 | 4 | 1 | 1 | ... | 3 | 1 | 4 | 1 | 4 | 3 | 2 | 3 | 4 | 5 |
2 | 2 | 1 | 0 | 2 | 2 | 4 | 4 | 1 | 4 | 2 | ... | 3 | 2 | 2 | 3 | 3 | 2 | 3 | 1 | 4 | 2 |
3 | 1 | 2 | 9 | 3 | 4 | 3 | 2 | 4 | 3 | 3 | ... | 2 | 1 | 2 | 1 | 4 | 3 | 2 | 1 | 4 | 5 |
4 | 2 | 1 | 0 | 1 | 3 | 1 | 1 | 5 | 3 | 3 | ... | 2 | 1 | 3 | 2 | 3 | 1 | 2 | 2 | 4 | 5 |
5 rows × 53 columns
dataframe0.dtypes
label int64 Sexo int64 Edad int64 Etnia int64 Indice de Masa Corporal int64 Condición Económica int64 Ejercicio int64 Habitos relacionados con el tabaquismo int64 Habitos relacionados con el alcoholismo int64 Hipertension Arterial int64 En tratamiento para la hipertension int64 Tipo de tratamiento para Hipertension int64 Diabetes Mellitus int64 En tratamiento para la Diabetes int64 Tipo de tratamiento para Diabetes int64 Enfermedad Pulmonar crónica int64 En tratamiento para la enfermedad pulmonar crónica int64 Tratamiento para la Enf. Pulmonar crónica int64 Cancer int64 En tratamiento para el cáncer int64 Tipo de tratamiento para el cáncer int64 Padece de alguna cardiopatías int64 En tratamiento para la Cardiopatia int64 Tratamiento para cardiopatia int64 Enfermedad Renal crónica int64 Enfermedad Hepática Crónica int64 Enfermedad Psiquiatrica int64 Enfermedades Inmunologicas int64 Ha sido vacunado ultimamente int64 Tuvo contacto previo con algun contacto sintomático int64 El contacto previo Fallecio int64 Ayudó a algun paciente que luego se dio cuenta que estaba contagiado int64 Ha ayudado a algun paciente con sintomas evidentes int64 como se encuentra el contacto a que ayudo int64 Permanecio por mas de 15 minutos int64 Tomo precauciones int64 Antes de presentar sintomas como se relacionaba int64 Otros miembros de su familia enfermos tambien int64 Sabe de otros casos en su comunidad positivos int64 Vive solo o acompañado int64 Regreso usted de algun viaje recientemente int64 Perido de incubación estimado int64 Ha tenido síntomas int64 Ha tenido tos int64 Ha tenido fiebre int64 Ha tenido Dificultad para respirar int64 Ha tenido o tuvo Dolor de garganta en los últimos dias int64 Ha tenido algun brote en la piel int64 Ha perdido el olfato int64 Ha perdido el gusto int64 Ha tenido dolores musculares int64 Ha tenido diarea en los ultimos dias int64 Como ha sido la evolución de su caso int64 dtype: object
dataframe0.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 65000 entries, 0 to 64999 Data columns (total 53 columns): label 65000 non-null int64 Sexo 65000 non-null int64 Edad 65000 non-null int64 Etnia 65000 non-null int64 Indice de Masa Corporal 65000 non-null int64 Condición Económica 65000 non-null int64 Ejercicio 65000 non-null int64 Habitos relacionados con el tabaquismo 65000 non-null int64 Habitos relacionados con el alcoholismo 65000 non-null int64 Hipertension Arterial 65000 non-null int64 En tratamiento para la hipertension 65000 non-null int64 Tipo de tratamiento para Hipertension 65000 non-null int64 Diabetes Mellitus 65000 non-null int64 En tratamiento para la Diabetes 65000 non-null int64 Tipo de tratamiento para Diabetes 65000 non-null int64 Enfermedad Pulmonar crónica 65000 non-null int64 En tratamiento para la enfermedad pulmonar crónica 65000 non-null int64 Tratamiento para la Enf. Pulmonar crónica 65000 non-null int64 Cancer 65000 non-null int64 En tratamiento para el cáncer 65000 non-null int64 Tipo de tratamiento para el cáncer 65000 non-null int64 Padece de alguna cardiopatías 65000 non-null int64 En tratamiento para la Cardiopatia 65000 non-null int64 Tratamiento para cardiopatia 65000 non-null int64 Enfermedad Renal crónica 65000 non-null int64 Enfermedad Hepática Crónica 65000 non-null int64 Enfermedad Psiquiatrica 65000 non-null int64 Enfermedades Inmunologicas 65000 non-null int64 Ha sido vacunado ultimamente 65000 non-null int64 Tuvo contacto previo con algun contacto sintomático 65000 non-null int64 El contacto previo Fallecio 65000 non-null int64 Ayudó a algun paciente que luego se dio cuenta que estaba contagiado 65000 non-null int64 Ha ayudado a algun paciente con sintomas evidentes 65000 non-null int64 como se encuentra el contacto a que ayudo 65000 non-null int64 Permanecio por mas de 15 minutos 65000 non-null int64 Tomo precauciones 65000 non-null int64 Antes de presentar sintomas como se relacionaba 65000 non-null int64 Otros miembros de su familia enfermos tambien 65000 non-null int64 Sabe de otros casos en su comunidad positivos 65000 non-null int64 Vive solo o acompañado 65000 non-null int64 Regreso usted de algun viaje recientemente 65000 non-null int64 Perido de incubación estimado 65000 non-null int64 Ha tenido síntomas 65000 non-null int64 Ha tenido tos 65000 non-null int64 Ha tenido fiebre 65000 non-null int64 Ha tenido Dificultad para respirar 65000 non-null int64 Ha tenido o tuvo Dolor de garganta en los últimos dias 65000 non-null int64 Ha tenido algun brote en la piel 65000 non-null int64 Ha perdido el olfato 65000 non-null int64 Ha perdido el gusto 65000 non-null int64 Ha tenido dolores musculares 65000 non-null int64 Ha tenido diarea en los ultimos dias 65000 non-null int64 Como ha sido la evolución de su caso 65000 non-null int64 dtypes: int64(53) memory usage: 26.3 MB
clases = dataframe0.groupby('label').size()
print(clases)
label 1 10950 2 54050 dtype: int64
clases.values[0]
10950
total = len(dataframe0)
peso_1 = clases.values[0]/total
peso_2 = clases.values[1]/total
print('PESO 1', peso_1)
print('PESO 2', peso_2)
PESO 1 0.16846153846153847 PESO 2 0.8315384615384616
dataframe0.drop(['label'],1).hist()
plt.show()
sb.pairplot(dataframe0.dropna(), hue='label',size=4,vars=["Edad","Sexo","Etnia","Ejercicio"],kind='reg')
C:\ProgramData\Anaconda3\lib\site-packages\seaborn\axisgrid.py:2065: UserWarning: The `size` parameter has been renamed to `height`; pleaes update your code. warnings.warn(msg, UserWarning)
<seaborn.axisgrid.PairGrid at 0x16580d57e48>
reduced = dataframe0.drop(['label'], axis=1)
colormap = plt.cm.viridis
plt.figure(figsize=(25,25))
plt.title('Correlacion de Pearson para los atributos', y=1.05, size=25)
sb.heatmap(reduced.astype(float).corr(),linewidths=0.1,vmax=1.0, square=True, cmap=colormap, linecolor='white', annot=True)
<matplotlib.axes._subplots.AxesSubplot at 0x165a07150f0>