No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

An谩lisis exploratorio y escalamiento de datos multiclase

14/17
Recursos

Aportes 7

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

En el segundo 00:52 se est谩 cometiendo un ERROR, el cual es muy sutil pero genera problemas de sobre-confianza al entrenar el modelo,dado que en la parte final del curso se obtiene un modelo con 0.99 de accuracy cuando en realidad es de solo 0.93, el error que se comete es el siguiente:
Al realizar

df_dea = X_over
df_dea[鈥楥lass鈥橾 = y_over

Le estamos asignando una columna extra a la data X_over la cual es la columna de las clases,en el minuto 05:17 se observa que se eliminan 2 columnas,sin embargo, no se elimina la columna Classes la cual queda adherida al DataFrame X_over tal como se observa aqu铆:

Por lo que al tener esta columna dentro de los features de entrenamiento es muy FACIL para el modelo establecer los patrones y generar un modelo con tan buen accuracy tal como se puede observar en la siguiente clase

En todo caso ,si lo que se quer铆a era generar un nuevo dataset para usar heatmap y ver las correlaciones ,simplemente se pudo usar la funci贸n concat de pandas ( en la cual uno el nuevo set de X & y generados con la librer铆a imblearn ) tal como se muestra a continuaci贸n
:

Siempre me ha parecido m谩s intuitivo usar la paleta coolwarm para las matrices de correlaci贸n

df_under=X_under
df_under['Class']=y_under
plt.figure(figsize=(15,10))
sns.heatmap(df_under.corr(), annot= True, cmap='coolwarm',cbar=False);
Quiero hacer una observaci贸n importante en el minuto 9:20 sobre porque en el `x_train` se usa `fit_transform()` y porque en el `x_test` se usa solo `transform()`. Cuando se hace `fit()` con los datos del set para training, internamente se calculan medias y desviaciones est谩ndar para cada una de las columnas del dataset, ya que cada columna tiene diferentes medias y desviaciones est谩ndar. Solo se calcula para el training set porque es el set mas grande, por lo tanto mas representativo de datos para cada columna (80% de los datos van en el `x_train` ). Si se calcularan por separado, es decir, si se hiciera `fit_transform` para el `x_test` por separado, se corre el riesgo que la media y la desviaci贸n est谩ndar calculadas difieran, y por lo tanto, al hacer pruebas no se podr铆a evaluar correctamente el performance del modelo.

Como no sabemos cu谩les son las unidades de los datos, si se hace una correlaci贸n sin que todos estos est茅n en una escala est谩ndar, esto nos conducir铆a a conclusiones err贸neas.

驴No se deber铆a hacer el escalamiento antes de realizar el an谩lisis de correlaci贸n? O 驴El m茅todo de correlaci贸n de Pandas realiza la estandarizaci贸n internamente?

En caso de que quieran que los valores de correlaci贸n que est谩n por encima de la diagonal de la matriz no aparezcan, pueden usar el siguiente c贸digo: ```python corr = df_dea.corr() mask = np.triu(np.ones_like(corr)) sns.heatmap(corr,annot=True,mask=mask) ```

Prefiero usar:

%%time

pio.templates['new_template']['layout']['font'] = {'family': 'verdana', 'size': 7, 'color': 'white'}


fig = px.scatter_matrix(
    df_under,
    color="Class",
    title="Scatter matrix of dataset",
    labels={col: col.replace("_", " ") for col in df.columns},
    opacity=0.8, width=1600, height=1600, color_continuous_scale=px.colors.sequential.Magenta
)

fig.update_traces(diagonal_visible=False)
fig.update_coloraxes(showscale=False)
fig.update_traces(marker=dict(size=4, line=dict(width=1, color=px.colors.sequential.Magenta)))

fig.show()

La diferencia de tiempo de ejecucion con respecto a sns.pairplot(df_under, hue=鈥楥lass鈥) es exageradamente notable.

Una clase compleja para m铆. Per s茅 que con pr谩ctica lograr茅 dominar estos conceptos 馃槑