Menu
CoddyTech

Repaso: vigilancia del servidor

Parte de la sección Aprendizaje no supervisado del Journey de Machine Learning de Coddy. Lección 38 de 51.

challenge icon

Desafío

Intermedio

Un servidor web registró cada minuto del turno de noche. ¿Qué minutos fueron realmente extraños?

  1. Escala las cuatro columns.
  2. Marca los minutos con un bosque de aislamiento (contamination=0.03, random_state=0) y con LOF (n_neighbors=20, contamination=0.03).
  3. Imprime los minutos que ambos marcan, en orden cronológico, como se muestra a continuación.
  4. Representa todos los minutos en un diagrama de dispersión, con las solicitudes en el eje horizontal y la latencia en el eje vertical, con la etiqueta minutes. Rodea en rojo los minutos que ambos marcan, con la etiqueta both detectors. Añade una leyenda y muestra el gráfico.

Para otra noche:

Both detectors flag 5 minutes:
  00:25: 1116 requests/s, 186 ms
  01:10: 2106 requests/s, 95 ms
  02:00: 1151 requests/s, 133 ms
  02:40: 835 requests/s, 142 ms
  03:10: 1774 requests/s, 82 ms

Una noche de minutos del servidor, con las solicitudes por segundo en el eje horizontal y la latencia en el vertical: una nube ascendente, tres minutos lentos rodeados en rojo por encima y dos minutos con mucha actividad muy a la derecha

Después, Coddy describe tu gráfico.

Pruébalo tú mismo

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor

# Una fila por cada minuto del turno de noche en un servidor web
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# No cambies las líneas de abajo
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# Escribe tu código a continuación

Todas las lecciones de Aprendizaje no supervisado

Practica por tu cuenta: Compilador de Python online