No tienes acceso a esta clase

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

Carga y preprocesamiento de datos multiclase

13/17
Recursos

Aportes 16

Preguntas 3

Ordenar por:

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

o inicia sesi贸n.

En casi 2 a帽os que llevo estudiando Data Science y ML en esta plataforma es la primera vez que veo que usan la librer铆a imblearn , me parece algo mag铆fico, he llevado muchos cursos en los que la data esta bastante desbalanceada y nunca se dignan en balancearla. Excelente aporte y hasta ahora lo mejor del curso隆隆隆

Al correr el codigo del count plot obtuve el siguiente error
ValueError: could not convert string to float: 鈥楽EKER鈥

el error en

sns.countplot(y_over)
plt.xticks(rotation=45)
plt.show()

reemplazar por

sns.countplot(x=y_over, data=df)
plt.xticks(rotation=45)
plt.show()

Para la gr谩fica del undersampling pueden usar este c贸digo:

sns.countplot(x=y_over, data=X_over)
plt.xticks(rotation=45)
plt.show()

Otra forma de ver las proporciones r谩pidamente es con plt.pie()

Para el que no le corra el imblearn.under_sampling,

solo tiene que instalar el modulo: !pip install imblearn

El profesor Carlos Alarc贸n explica demasiado bien, la verdad que me siento volando cuando explica este profe. felicitaciones de verdad.

Una forma automatizada para encodear los strings en n煤meros:

DICT = {key: item for key, item in zip(y.unique(), range(len(y.unique())))}
y_new = pd.Series(map(lambda x: DICT[x], y))
y_new
0        0
1        0
2        0
3        0
4        0
        ..
13538    6
13539    6
13540    6
13541    6
13542    6
Length: 13543, dtype: int64

Yo hice un over sampling con la t茅cnica SMOTE: Quedando con 24 mil datos. El c贸digo es bastante similar:

from imblearn.over_sampling import SMOTE
sm = SMOTE(random_state=42)
X = df.drop('Class', axis=1)
y = df.Class
X_sm, y_sm = sm.fit_resample(X, y)
Pero no vimos lo pr谩ctico de regularizers...
Para quienes el c贸digo de mostrar la barra causa error. lo solucion茅 de esta manera: ![](https://static.platzi.com/media/user_upload/image-e6e29042-36eb-497e-bb19-7bdd0d5ef5cb.jpg) Otra soluci贸n es contar los valores de 'Class' e imprimirlo con un funci贸n de matplotlib: ```js conteo_categorias = df['columna'].value_counts() plt.bar(conteo_categorias.index, conteo_categorias.values) ```conteo\_categorias = df\['columna'].value\_counts()
Porque se debe balancear o desbalancear mi variable a explicar y cual es el efecto de hacerlo? En q momento lo debo hacer , dado que en la mayor铆a de casos los datos pr谩cticos son desbalanceados.
Ignoro el por qu茅, paece que SEKER est谩 convertido en String y no se deja procesar, por lo que yo us茅 este c贸digo p ara generar el plot: import seaborn as sns import matplotlib.pyplot as plt \# Supongamos que 'Class' contiene las categor铆as que deseas contar \# y 'df\_data' es tu DataFrame sns.countplot(data=df\_data, x='Class') plt.xticks(rotation=45) # Rotar las etiquetas del eje x si es necesario plt.show()

Cuando pongo el siguiente codigo del minuto 7:00

sns.countplot(df.Class)
plt.xticks(rotation=45)
plt.show()

me da el siguiente error:

ValueError: could not convert string to float: 'SEKER'```

Alguien me puede decir porque?

Si te aparece un error en

sns.countplot(df.Class)
plt.xticks(rotation=45)
plt.show()

Debes cambiar el codigo por

sns.countplot(x="Class", data=df )
plt.xticks(rotation=45)
plt.show()

No aparecen los recursos de esta clase.