Menu
CoddyTech

Ôn tập: Giám sát máy chủ

Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 38 trên 51.

challenge icon

Thử thách

Trung bình

Máy chủ web ghi lại dữ liệu mỗi phút trong ca đêm. Những phút nào thực sự bất thường?

  1. Chuẩn hóa bốn columns.
  2. Đánh dấu các phút bằng một mô hình rừng cô lập (contamination=0.03, random_state=0) và LOF (n_neighbors=20, contamination=0.03).
  3. In các phút mà cả hai mô hình đều đánh dấu, theo thứ tự thời gian, như bên dưới.
  4. Biểu diễn mọi phút bằng biểu đồ phân tán, số yêu cầu trên trục ngang, độ trễ trên trục dọc, với nhãn minutes. Khoanh tròn các phút mà cả hai mô hình đều đánh dấu bằng màu đỏ, với nhãn both detectors. Thêm chú giải và hiển thị biểu đồ.

Với một đêm khác:

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

Một đêm với dữ liệu từng phút của máy chủ, số yêu cầu mỗi giây trên trục ngang và độ trễ trên trục dọc: đám mây điểm đi lên, ba phút có độ trễ cao được khoanh đỏ phía trên và hai phút có lưu lượng cao ở xa bên phải

Sau đó, Coddy mô tả biểu đồ của bạn.

Tự làm thử

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

# Mỗi hàng tương ứng với một phút trong ca đêm trên máy chủ web
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# Đừng thay đổi các dòng bên dưới
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# Viết code bên dưới

Tất cả bài học trong Học không giám sát

Tự luyện tập: Trình biên dịch Python online