본문 바로가기
머신러닝/프로젝트

Proj 콤프레샤 모터의 이상감지

by ADELA_J 2023. 8. 21.

<데이터 정의>

* 설비이름_VOLT_N상 : 설비이름/N상 전압(단위:V) (Type: float64)

* 설비이름_VOLT_AVG : 설비이름/평균 전압(단위:V) (Type: float64)

* 설비이름_CURR_N상 : 설비이름/N상 전류(단위:A) (Type: float64)

* 설비이름_CURR_AVG : 설비이름/평균전류(단위:A) (Type: float64)

* 설비이름_KW : 설비이름/유효전력(단위:KW) (Type: float64)

* 설비이름_KVAR : 설비이름/무효전력 (단위:KVAR)(Type: float64)

* 설비이름_HZ : 설비이름/주파수 (단위:HZ) (Type: float64)

* 설비이름_PWR_FACTOR : 설비이름/역률 (단위:%) (Type: float64)

* 설비이름_KWH : 설비이름/유효전력량(단위:KWH) (Type: float64)

* 설비이름_KVARH : 설비이름/무효전력량 (단위:KVARH) (Type: float64)

* 설비이름_DIAGNOSTIC_CODE : 설비이름/모터진단코드(STOP=1, START=1) (Type: int64)

 

<데이터분석 과정>

데이터 구성 및 문제 정의 > 라이브러리 불러오기 > 데이터 셋 불러오기 > 데이터 전처리 > 모델링

* 데이터 특성에 따라 중간과정이 생략/추가/반복일 수 있다.

 

<사용되는 라이브러리>

- 개발환경도 적어줘야한다. python==3.11.2 / matplotlib ==3.7.1 / pandas 2.0.0 / seabron 0.12.2 / scikit-learn 1.2.2 요런식으로

- 라이브러리에 대한 설명, 그리고 지도학습/분류/회귀 등 이론지식들도 간단하게 설명하고

 

<데이터 준비 - 데이터 셋 불러오기>

<데이터 전처리>

▼ 진단코드를 분류해 변수로 처리한다.

진단코드가 0인 데이터들을 normal(정상 데이터) 변수에 선언, 1인데이터들은 error 변수에 선언

데이터 갯수확

<데이터 셋 만들기>

▶ 훈련용 데이터 셋에 적용할 수 있도록 치환해준다. array형태로 치환해주고 형태를 확인함

 

<모델링>

- 결과지표로써는 혼동행렬(오차행렬, Confusion Matrix)에서 accuracy, precision, recall, F1 지표를 사용할 예정. 

> 일반적으로 R² 의 결과 값은 훈련된 모델의 선형적인 설명도를 뜻하며 높을수록 모델의 설명력의 높다라는 것을 의미

정확도 정밀도 재현율 F1왜 다 1.0...........................................? 

코드를 다시 봐도 모르겠다 같은 값은 아닐텐데 

로지스틱 회귀든 의사결정나무든 다 똑같이 1.0 1.0. 1.0 1.0 나온다

 

 

<시각화>