Preparar los datos adecuadamente es clave para obtener buenos resultados de clustering. Aquí tienes una guía paso a paso para preparar tus datos antes de aplicar algoritmos como K-means, DBSCAN o Hierarchical Clustering:
🧹 1. Cargar y explorar los datos
import pandas as pd
df = pd.read_csv("tu_archivo.csv") # o usa otro método de carga
print(df.head())
print(df.info())
🔍 2. Seleccionar las columnas relevantes
El clustering se basa en distancias, por lo tanto, es importante seleccionar solo las características numéricas (o convertir las categóricas).
features = df[['columna1', 'columna2', 'columna3']] # ajusta según tu dataset
🧼 3. Limpiar datos
- Eliminar nulos o imputar valores
- Eliminar duplicados si es necesario
features = features.dropna()
features = features.drop_duplicates()
🧮 4. Escalar los datos (muy importante)
Los algoritmos de clustering dependen de la escala de los datos. Se recomienda usar StandardScaler o MinMaxScaler.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(features)
✅ 5. (Opcional) Reducir dimensiones para visualizar
Si tienes más de 2 dimensiones, puedes usar PCA o t-SNE para reducir a 2D y visualizar los clústeres.
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
📦 Resultado final listo para clusterizar
Ahora X_scaled (o X_pca) está listo para pasar a:
KMeans().fit(X_scaled)
DBSCAN().fit(X_scaled)
AgglomerativeClustering().fit(X_scaled)