키보드워리어

[ELK] ML 학습해보기 본문

ELK

[ELK] ML 학습해보기

꽉 쥔 주먹속에 안경닦이 2023. 10. 29. 16:40
728x90

회사에서 ML기능을 학습해 보는 시간을 가져보았습니다.

 

문제 Task는 다음과 같습니다.

2020~2022년 6월말까지의 JSON데이터 (서비스센터의 차량데이터)

CENTER RO CUST_SEQ CUST_TYPE CPS_3YR_PROPO VISIT_3YR_PROPO VIN SALES_TYPE BRAND HEV HP TAKING_FIX VEHICLE_AGE_PROPO MILEAGE_PROPO GR_BP KPI_CATEGORY 12V TIRE EFA Air Care

컬럼 설명
컬럼 설명


컬럼중에 EFA가 있다.

EFA란? 유상옵션 적용 유무를 의미

 


이 데이터를 학습해서 2022년 07월 EFA 옵션을 적용했을까 안 해놨을까를

예측해 보고 상관관계 분석(추론)해본다

 

  • Hint!) 7월 달 거 잘라서 사용하면 된다. 차대 번호로는 원하는 값을 얻어서 쓸 수 없다.

참고로 머신러닝은 클라우드나 30일 트라이얼을 동의해야 사용 가능하다.

 

 

머신러닝 > 데이터프레임 분석 > 탐색 시각화 해볼 수 있다.

 

ML에 알고리즘이 4가지가 있다.

이상탐지, 아웃라이어, 클래스피케이션, 레그리션 네 가지가 있는데 이중에 나는 classficationd을 이용했다.

 

 

 

데이터

     ⬝ 학습 데이터 : train_rosa_pre_data.csv (2020.08~2022.06) - 290585건

     ⬝ 예측 대상 데이터 : test_rosa_pre_data.csv (2022.07) - 12544건

 

데이터 정제


1. 날짜 필드 정제  

입고 순서 제거, Python의 datetime 형식으로 변경  
2020-08-01(1)  > 2020-08-01


2. 차대번호 필드 분리

- 차량 특성(CHARACTERISTICS)
- 생산년도(MODEL_YEAR) 
2가지 필드 생성

 

차대번호 의미
차대번호 의미

3. target 변수 0, 1로 바꿔줌
Null -> 0
‘EFA’ -> 1 


4. 필요 없는 필드 제거
12V, TIRE, Air Care, RO (처음 날짜가 있던 필드) 필드 삭제 
12V, TIRE, Air Care : Null 값이 많고 유료고객 예측에 필요 없다고 판단

 

모델


1. Elastic에 데이터 import 후 Data Frame Analytics > Jobs > Create job
2. Classification model train & 결과 확인

 

train결과2train결과
train 결과

예측 결과


1) 방법
학습 결과 Deploy -> ingest pipeline 형성
미리 import 한 test data를 pipeline 통과

 

index를 만들고 리인덱스
index를 만들고 리인덱스

2) 정확도

 

    • * dash board

(count(kql='EFA :0 and ml.inference.EFA_prediction.EFA_prediction :0')+ count(kql='EFA :1 and ml.inference.EFA_prediction.EFA_prediction:1'))/

count()

  • Confusion Matrix

728x90

'ELK' 카테고리의 다른 글

[ELK] Collection Time 작업  (3) 2023.11.23
[ELK] JSON 데이터를 파이썬으로 파싱 후 적재해보자.  (1) 2023.10.27
[ELK]logstash란?  (0) 2023.10.20
[ELK] 키바나 시각화  (2) 2023.10.09
[ELK] kafka, filebeats 어떻게 설치할까?  (0) 2023.10.01