Skip to content
Snippets Groups Projects
Commit ea24f0e4 authored by rubegar's avatar rubegar
Browse files

Upload New File

parent e93d4c25
Branches main
No related tags found
No related merge requests found
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# Cargar el archivo CSV
df = pd.read_csv('datos_normalizados.csv')
# Seleccionar las columnas de interés
columnas_de_interes = ['cpu', 'cpus', 'diskread', 'diskwrite', 'maxmem', 'mem', 'netin', 'netout'] # Reemplaza con tus columnas reales
datos = df[columnas_de_interes]
# Estandarizar las características
scaler = StandardScaler()
datos_escalados = scaler.fit_transform(datos)
# Realizar el análisis de conglomerados k-medias
k = 9 # Número de conglomerados, reemplaza con el número adecuado
modelo_kmeans = KMeans(n_clusters=k, random_state=42)
modelo_kmeans.fit(datos_escalados)
# Calcular los centroides
centroides = modelo_kmeans.cluster_centers_
centroides_desescalados = scaler.inverse_transform(centroides)
# Guardar los centroides en un archivo CSV
centroides_df = pd.DataFrame(centroides_desescalados, columns=columnas_de_interes)
centroides_df.to_csv('centroides_2.csv', index=False)
print('Los centroides se han guardado en "centroides.csv".')
# Calcular y guardar el porcentaje de peso de cada conglomerado
conteo_clusters = pd.value_counts(modelo_kmeans.labels_, sort=False)
pesos_clusters = conteo_clusters / len(df) * 100 # Porcentaje de cada cluster
pesos_clusters_df = pd.DataFrame(pesos_clusters).reset_index()
pesos_clusters_df.columns = ['Cluster', 'Porcentaje']
pesos_clusters_df.to_csv('pesos_clusters.csv', index=False)
print('Los porcentajes de peso de cada conglomerado se han guardado en "pesos_clusters.csv".')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment