Menu
CoddyTech

Tekrar: Sunucu Gözetimi

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 38 / 51.

challenge icon

Görev

Orta

Bir web sunucusu gece vardiyasının her dakikasını kaydetti. Hangi dakikalar gerçekten tuhaftı?

  1. Dört columns değerini ölçeklendir.
  2. Isolation forest (contamination=0.03, random_state=0) ve LOF (n_neighbors=20, contamination=0.03) kullanarak dakikaları işaretle.
  3. Her iki yöntemin de işaretlediği dakikaları, aşağıdaki gibi zaman sırasına göre yazdır.
  4. Her dakikayı dağılım grafiğinde göster; istekleri yatay eksene, gecikmeyi dikey eksene yerleştir ve minutes etiketi ver. Her iki yöntemin de işaretlediği dakikaları kırmızıyla daire içine al ve both detectors etiketi ver. Bir gösterge ekle ve grafiği göster.

Başka bir gece için:

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

Sunucu dakikalarının gece boyunca dağılımı; yatay eksende saniyedeki istek sayısı, dikey eksende gecikme: yükselen bir bulut, üstünde kırmızı daire içine alınmış üç yavaş dakika ve en sağda yoğun iki dakika

Coddy daha sonra grafiğini açıklıyor.

Kendin dene

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

# Bir web sunucusundaki gece vardiyasının her dakikası için bir satır
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# Aşağıdaki satırları değiştirmeyin
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# Kodunuzu aşağıya yazın

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi