Hoy vamos a combinar dos conceptos que vimos ayer:
Ademas veremos como:
Instalaremos una libreria (seaborn) para visualizacion avanzada usando el comando en su terminal (anaconda prompt o terminal):
conda install seaborn
In [ ]:
import pandas as pd
import numpy as np # modulo de computo numerico
import matplotlib.pyplot as plt # modulo de graficas
# esta linea hace que las graficas salgan en el notebook
import seaborn as sns
%matplotlib inline
In [ ]:
df = pd.read_csv('files/mini-LHC.csv')
df.head()
In [ ]:
print(df.shape)
In [ ]:
print(len(df))
In [ ]:
print(df.columns)
In [ ]:
for col in df.columns:
print(col)
In [ ]:
df['PRI_met']
In [ ]:
boson_df = df[df['Label']=='s']
ruido_df = df[df['Label']=='b']
In [ ]:
Ahora que sabemos accesar a los datos, vamos a visualizar los datos.
Como ejemplo usaremos la propiedad fisica DER_mass_MMC que de acuerdo al documento de datos dice:
DER_mass_MMC: The estimated mass mH of the Higgs boson candidate, obtained through a prob- abilistic phase space integration
Es decir la masa estimada de la particula.
Con los boxplots, vemos el minimo, maximo, promedio y una caja donde esta concentrado la mayoria de los datos (75%).
Con boxplots usamos todos los datos no divididos (df)..le decimos quien es esta en el eje x (Label) y quien en el eje y que puede ser cualquier propiedad fisica.
In [ ]:
sns.boxplot(x="Label", y="DER_mass_MMC",data=df)
plt.show()
In [ ]:
sns.distplot(boson_df["DER_mass_MMC"],label='boson')
sns.distplot(ruido_df["DER_mass_MMC"],label='ruido')
plt.ylabel('Frecuencia')
plt.legend()
plt.title("Distribucion de DER_mass_MMC")
plt.show()
Con scatter plots podemos ver la relacion de dos variables, graficando puntos en una dimension (X) y luego en otra (Y).
En este caso escojemos una variable extra PRI_tau_pt que segun la documentacion representa
PRI_tau_pt The transverse momentum $\sqrt{p^2_x + p^2_y}$ of the hadronic tau.
Es decir el momento transversal del tau hadronico..algo loco
Probemoslo:
In [ ]:
ejeX = "DER_mass_MMC"
ejeY = "PRI_tau_pt"
plt.scatter(df[ejeX],df[ejeY],alpha=0.5)
plt.xlabel(ejeX)
plt.ylabel(ejeY)
plt.show()
In [ ]:
ejeX = "DER_mass_MMC"
ejeY = "PRI_tau_pt"
plt.scatter(boson_df[ejeX],boson_df[ejeY],c='r',alpha=0.1,s=20,label='boson',lw=0)
plt.scatter(ruido_df[ejeX],ruido_df[ejeY],c='g',alpha=0.1,s=10,label='ruido',lw=0)
plt.xlabel(ejeX)
plt.ylabel(ejeY)
plt.legend()
plt.show()
Juntarse en grupos de 6, y juntos exploraran todas las variables que hay.
Que hacer:
Discutir:
In [ ]: