복습: 서버 감시
Coddy Machine Learning 여정의 비지도 학습 섹션에 포함된 레슨. 51개 중 38번째.
챌린지
중급웹 서버가 야간 근무 시간 동안 매분 기록을 남겼습니다. 정말 이상했던 시간은 몇 분일까요?
- 네 개의
columns를 스케일링하세요. - 격리 포레스트(
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 ms이어서 Coddy가 차트를 설명합니다.
직접 해보기
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# 웹 서버의 야간 근무 시간 동안 1분마다 한 행씩 기록
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 컴파일러