1. 일별 최고기온 (머신러닝 : 50점)
> 데이터 설명
- 일별 최고기온 데이터를 기록해둔 데이터
- 데이터 칼럼 : Year, Month, Day, Temp_2, Temp1, Average, Actual, Friend
- 칼럼 설명
Year, Month, Day : 데이터 측정 년, 월, 일
Temp_2 : 이틀 전 일별 최고기온
Temp_1 : 하루 전 일별 최고기온
Average : 작년 평균 기온
Actual : 측정일 실제 최고기온
Friend : 친구가 예측한 최고기온
1-1. 데이터 전처리 (10점)
- 데이터를 확인하고 결측치를 예측하라
- 예측되는 결측치를 대체하라
- 결측치에 대한 부분을 제외하고 다른 부분에 대한 보완이 필요하면 보완하라
- 데이터를 분할하고 데이터 분석에 대한 준비가 완료됨을 보여라
1-2. randomforest모델 (15점)
- 랜덤 포레스트 모델의 예측선을 설정하는 기준들을 설명하고, 선택하라
- 예측 모델을 생성하라
- 예측모델의 성능을 개선하라
1-3. svm 모델 (15점)
- svm모델의 예측선을 설정하는 기준들을 설명하고, 선택하라
- 예측모델을 생성하라
- 예측모델의 성능을 개선하라
1-4. 모델 평가, 선택 및 한계점 시사 (10점)
- 랜덤포레스트와 svm의 장단점을 설명하라
- 랜덤포레스트와 svm 중 모델을 선택하고 근거를 보여라
- 해당 모델의 한계점을 설명하고 개선방향을 설명하라
나의 풀이법 및 느낌
- 우선 데이터 전처리 부분 시간이 생각보다 오래 걸렸음
- 작은 문제 각각에 가이드라인이 4개씩이었는데 이 기준으로 채점하는 것 같았다. (위에는 기억나는 것만 씀)
- R studio를 사용했는데 처음 colSums(is.na(x))로 결측치 확인했을 때 전체 열에서 결측치는 보이지 않았음.
- 데이터 기간은 2019.01.01 ~ 2019.12.31일이었는데 중간중간 빠진 날짜가 보였음.
- 이 빠진 날짜를 확인하고 데이터 결측치를 예측하라는 말이었던 것 같음.
- 날짜가 없는 부분의 Actual은 Temp_2와 Temp_1을 이용하여 채워 넣었는데 Friend와 Average부분은 NA값을 어떻게 처리해야 할지 막막했음. (지금 생각해보니 이전 값 대체나 평균 대체로 결측 값 채워 넣어야 했을 듯)
- 이 문제를 풀면서 평소에 데이터 전처리에 대한 연습을 미리미리 했어야 했다 생각함 (본인은 Python유저)
- 그리고 RandomForest와 SVM 모델을 수립하면서 예측 선 설정 기준을 설명이 필요했는데, 이 부분에 대한 공부가 부족해 잘 풀지 못했음
- RandomForest와 SVM 각각의 장, 단점에 대한 정리도 필요하다 생각
2. 일별, 시간별 전기 사용량 데이터 (통계분석 : 25점)
> 데이터 설명
- 가구별, 시간별 전기 사용량 측정 데이터
- 데이터 칼럼 : 가구 코드, Year, Month, Day, Hour, Minute, p
- 칼럼 설명
가구 코드 : 각 가구별 일련번호
Year, Month, Day, Hour : 측정 년, 월, 일, 시간
Minute : 15분 간격으로 측정된 듯 (0, 15, 30, 45로 구성)
p : 전력 사용량
2-1. 가구별, 일별 15분 단위로 데이터를 생성하고 5개의 군집으로 군집화 하라 (10점)
( 이 문제를 도무지 이해를 못함)

위와 같은 형식으로 반환하라 함
2-3. 위의 군집을 바탕으로 시간별, 요일별 히트맵 생성 (15점)
나의 풀이법 및 느낌
- 2.1번 문제가 이해가 되지 않아 고민을 많이 했음
- 가구별로 그룹화를 하고, 일별로도 그룹화를 해서 군집을 생성하라는 말이었는지 그룹 기준을 (가구, 일)로 그룹화하여 군집을 생성하라는 말이었는지 모르게 문제를 정말 애매하게 냈음
- 위와 같이 표를 보여주면서 가이드라인을 잡아놨기에 나는 (가구, 일)로 그룹화함
- data %>% group_by(가구 코드, 일자) %>% summarise(Total_P = sum(p))의 형식
- 그런데 애초에 군집화에 사용할 수 있는 열이 1개(Total_P) 밖에 존재하지 않는데 제대로 된 군집화가 가능한지 의문이 들었음
- 일단 kmeans를 적용시켜 군집화를 하는 데는 성공함
- 문제는 2.2번이었는데 x축은 시간(1시간 단위), y축은 요일(월화수목금토일)로 히트맵을 생성하라 했음
- 군집은 일자 기준으로 했는데 히트맵은 시간과 요일로 만들라니
- 여기서 막힘. 그래서 해결 못함
3. 일별 태양광 발전량 (통계분석 : 25점)
> 데이터 설명
- 시간 별 태양광 발전량에 대한 데이터
- 데이터 칼럼 : Year, Month, Day, Hour, 발전량 (더 있었는데 기억력의 한계로 인해 기억이 안 남)
- 칼럼 설명
Year, Month, Day, Hour : 측정 년, 월, 일 시간
발전량 : 발전량 측정 데이터
3-1. 예측모델 생성, 파생변수 생성, rmse r2, 정확도 (25점)
나의 풀이법 및 느낌
- 이건 가이드라인도 따로 없고 통계분석 파트로 들어가 있는데 머신러닝을 쓰는 것은 출제위원의 의도가 아니라 생각하여 그냥 회귀모델을 수립했음
- 처음 회귀분석 모델을 수립했을 때 Hour를 변환 없이 넣으니 회귀계수가 (-)로 나옴
- 그래서 Hour를 오전 9시 ~ 오후 6시까지를 1, 나머지를 0으로 설정하여 Daytime으로 파생변수를 생성해줌
- 다시 회귀모델 수립했을 때 Daytime에 적용되는 (+)로 회귀계수가 높게 나옴
- 25점짜리 문제여서 더 신경 써야 할 부분이 많았을 것 같은데 너무 간단한 모델을 세우고 해석도 너무 간단하게 한 듯 함.
총평
- 최근 출제경향을 보면 통계분석 파트에서는 시계열 부문을 중점으로 두는 것 같아 ARIMA나 SARIMA에 대한 준비를 많이 해갔음
- 시계열 분석 시에도 R이 편리한 부분도 많아 그동안 사용하던 Python대신 R로 준비를 해갔음.
- 하지만 시계열 분석에 대한 부분은 출제되지 않았고 머신러닝, 통계분석 데이터만 시계열 데이터로 주어짐
- 머신러닝에서 채점 가이드라인이 주어진 것은 좋았다
- 각 모델을 사용하는 방법뿐만 아니라 장, 단점과 모델 생성 및 예측 방법론에 대한 이론적인 공부가 동반되어야 한다는 느낌을 받음
- 군집분석을 요구할 때에는 데이터가 내가 생각했던 부분과 상당히 차이가 있어 당황스러웠던 기억이 있음
- 개인적으로 ADP실기를 준비할 시간이 매우 부족했던 탓도 있는 것 같고 어떻게 준비해야 할지 몰랐던 것도 있는 듯함
- 결론적으로 이론적인 부분에 대한 보충이 더 필요하다 생각
오류나 문제가 있으면 댓글로 말씀해주시면 감사하겠습니다.
(4월 23일 업데이트)
시험결과 발표 : 불합격 (커트라인 75)

생각보단 점수를 후하게 준다고 느껴진다.
준비 조금만 더 하면 합격이 가능할 듯 보인다.