logo

비지도학습 종합 복습

냉동창고 냉각설비 데이터로 표준화, PCA, K-Means 군집화와 이상치 탐지를 복습

실습 데이터: 냉동창고 냉각설비 운영

  • 한 행은 냉동창고 냉각설비의 한 운전 구간 기록
  • 숫자형 입력 변수 10개
  • 운전 유형은 저부하 보관, 일반 냉각, 급속 냉동의 세 종류
  • 전체 54건에 냉매 누설, 기계 결함, 센서 오류를 각각 18건씩 주입
컬럼설명
record_id운전 기록 ID
cooling_load_pct냉각 부하(%)
outside_temp_c외기 온도(°C)
compressor_power_kw압축기 소비전력(kW)
suction_pressure_kpa냉매 흡입 압력(kPa)
discharge_pressure_kpa냉매 토출 압력(kPa)
evaporator_temp_c증발기 온도(°C)
condenser_temp_c응축기 온도(°C)
compressor_temp_c압축기 온도(°C)
vibration_mm_s진동 속도(mm/s)
energy_use_kwh구간 에너지 사용량(kWh)
operation_profile실제 운전 유형(light_storage, normal_cooling, rapid_freeze)
anomaly_type실제 상태(normal, refrigerant_leak, mechanical_fault, sensor_fault)

파일을 Colab 현재 폴더에 업로드한 뒤 실행하세요.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df_refrigeration = pd.read_csv(
    "refrigeration_operations.csv"
)
df_refrigeration.head()

분석 변수 지정

군집화, PCA와 이상치 탐지에는 다음 10개 숫자형 변수만 사용하세요.

feature_cols = [
    "cooling_load_pct",
    "outside_temp_c",
    "compressor_power_kw",
    "suction_pressure_kpa",
    "discharge_pressure_kpa",
    "evaporator_temp_c",
    "condenser_temp_c",
    "compressor_temp_c",
    "vibration_mm_s",
    "energy_use_kwh",
]

X = df_refrigeration[feature_cols]

from sklearn.preprocessing import StandardScaler

X_scaled = StandardScaler().fit_transform(X)