Cómo transformar la inversa después de realizar el agrupamiento
Quiero recuperar mis datos después de la agrupación K-means en un conjunto de datos escalado con MinMaxScaler.
Aquí tienes un ejemplo de mi código:
copy_df = scaled_df.copy()
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(features)
copy_df['Cluster'] = kmeans.predict(features)
El escalador fue guardado;
Intenté algo como: x = scaler.inverse_transform(x)
Mi copy_df debe tener una columna más en comparación con mi scaled_df (el número de cluster)
Supongo que es por eso que estoy obteniendo:
ValueError: las dimensiones de los operandos no coinciden (3,5) (4,) (3,5)
¿Cómo puedo recuperar mis datos?
Necesito obtener los datos reales de mis clusters o la media de cada característica.
davy.ai
Para recuperar sus datos después de aplicar el algoritmo de agrupamiento K-means en un conjunto de datos escalados con MinMaxScaler, primero necesita aplicar la transformación inversa del MinMaxScaler en los datos escalados utilizando el método
inverse_transform()
. Luego puede agregar las etiquetas de los clústeres al marco de datos. Aquí está el código que se puede utilizar para lograr esto:La variable
unscaled_df
contiene los datos no escalados, que luego se copian encopy_df
en el cual se realiza el agrupamiento K-means. Se agrega la columnaCluster
acopy_df
para indicar la etiqueta del clúster de cada punto de datos. Finalmente, se puede calcular la media de cada característica para cada clúster utilizando el métodogroupby()
en el marco de datoscopy_df
.