ADP (R)

[Adp 실기 기출 풀이] 26회 - 머신러닝 전처리 및 군집분석

멋쟁이천재사자 2022. 9. 27. 00:29

지난 5월 21일 25회 ADP 필기를 합격했고, 9월 25일 첫 번째 실기를 보았습니다.
필기 유예 기간 끝날 때까지 도전할 계획이며, 11월 26일 27회 실기를 준비하고 있습니다.
제 기억과 다른 후기에서 확인한 정보를 이용해서 기출 문제를 재구성하여 풀어보려고 합니다.

 

1. 문제

사전준비)) 실제 문제와 유사하게 환경을 구성합니다.
1. http://archive.ics.uci.edu/ml/machine-learning-databases/00352/
2. Data Folder 로 이동하면 주소가 http://archive.ics.uci.edu/ml/machine-learning-databases/00352/
3. 엑셀 (Online Retail.xlsx) 을 다운로드합니다.
4. getwd()로 확인한 R 홈디렉토리에 dataset 폴더를 만들고 다운로드한 엑셀을 OnlineRetail.csv 파일로 저장

5. 다음 script 를 실행하여 OnlineRetail 데이터셋을 준비

 

temp <- read.csv("dataset/OnlineRetail.csv")
library(dplyr)
set.seed(3321)
OnlineRetail <- temp %>% 
  filter(!is.na(CustomerID)) %>% 
  select(-Description) %>% 
  #mutate(Quantity=ifelse(row_number()==1,NA,Quantity)) %>% 
  mutate(Quantity=ifelse(row_number() %in% sample(30000,19),NA,Quantity))

 

문제))

구매내역 데이터(OnlineRetail)를 이용하여 군집분석 해라
1-1 결측치를 식별하고 처리해라
1-2 이상치를 제거하고 제거후에 이상치 제거가 잘 되었는지 통계적으로 제시하라

1-3 k-means PAM 등의 기법을 이용하여 군집분석해라

2. 제출 답안

1-1 결측치

summary  를 통해 Quantitiy 변수에 19개의 결측치가 존재함을 확인함.

연속형 변수이므로 중위수 대체(randomForest 패키지의 na.roughFix 는 범주형은 최빈값으로 연속형은 중위수로 결측치 대체)를 함.

결측치 처리후 summary  를 통해 결측치가 없어짐을 확인

1-2 이상치

이상치는 IQR 또는 ESD 등의 방법으로 식별할 수 있으나 삭제는 업무전문가의 판단이 필요함. Quantity와 UnitPrice에 음수와 같이 논리적으로 명백히 잘못된 이상치는 없음.

 

1-3 군집분석

...작성중

 

3. 시험후기

결측치 처리를 처음에는 knn 으로 하려고 하였는데, 다음 다음 문제에서 KNN 을 이용하여 추천 어쩌고 하라는 내용이 있어서 다른 방식을 쓰기로 맘을 바꾸고 중위수 대체로 진행했습니다.

이상치는 Quantity와 UnitPrice 를 boxplot 으로 시각화해서 EDA 좀 해보다가 그냥 음수가 없으니(재구성한 데이터 Quantity에는 음수가 있지만 시험 데이터에는 없었음) 할거 없다는 듯이 썰만 대충 쓰고 말아버림.

.. 작성중

 

4. Study

....

5. 관련 자료

1. dmz04님 블로그

출처 : https://blog.naver.com/dmz04/222884288542

 

2. 꿈꾸는 행동가님 블로그

출처 : https://blog.naver.com/dmz04/222884288542

 

 

3. amaruak00님 블로그

출처 : https://amaruak00.github.io/2022/09/26/adp26th.html