סיכום: ניטור השרת
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 38 מתוך 51.
אתגר
בינונישרת אינטרנט תיעד כל דקה במשמרת הלילה. אילו דקות היו באמת חריגות?
- בצעו התאמה של ארבעת
columns. - סמנו דקות באמצעות Isolation Forest (
contamination=0.03,random_state=0) וגם באמצעות LOF (n_neighbors=20,contamination=0.03). - הדפיסו את הדקות שסומנו על ידי שני הגלאים, לפי סדר השעות, כמו בדוגמה שלהלן.
- הציגו בתרשים פיזור כל דקה, מספר הבקשות בציר האופקי וההשהיה בציר האנכי, עם התווית
minutes. סמנו בעיגול אדום את הדקות שסומנו על ידי שני הגלאים, עם התוויתboth detectors. הוסיפו מקרא והציגו את התרשים.
עבור לילה אחר:
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 msCoddy יתאר את התרשים שלך.
נסו בעצמכם
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# שורה אחת לכל דקה במשמרת הלילה בשרת אינטרנט
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]
# אין לשנות את השורות שלהלן
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין