정확히 기억 안 나는 부분이 많지만 최대한 떠올려서 적어봅니다. 기록 및 공부용이라 잘못된 내용이 있으면 알려주세요..!
준비 기간 - 2달
2024/08/12~2024/10/12
정확히 공부를 시작한 건 기억이 나지 않지만 주피터 노트북에서 처음 다운로드 받은 데이터 다운로드 날짜가 저 날이길래 그대로 적었다.
사용 언어 - 파이썬
처음엔 실기 책이 따로 없어서 필기를 준비했던 책만 보고 공부하느라 R로 할까 했다가 그래도 파이썬이 익숙하고 쓰기에도 편해서 통계분석까지 모두 파이썬으로 풀었다.
1. 머신러닝 (60점)
1. 간염 데이터 이진 및 다중 분류 예측 (종속변수 Category)
1-1. EDA 및 전처리
1) 결측치 처리 방법 두 가지 제시 및 두 가지 수행해보고 더 나은 걸로 진행하시오.
단순 제거 방법이랑 중앙값 대체 방법을 제시하였다. 데이터의 크기를 살펴봤을 때 총 601개라서 적은 편에 속했다. 따라서 의료 데이터이기도 하고 환자의 표본이 많을수록 좋다고 언급해서 두 가지 결측치 처리 방법을 수행했을 때 중앙값으로 대체하는 방법이 데이터 손실이 일어나지 않아서 그 방법으로 수행하고 결과를 제시하였다.
2) 불균형 데이터에서 사용할 수 있는 방법 두 가지 제시 및 비교, 둘 다 수행 후 결과 비교
언더 샘플링과 오버 샘플링 설명 및 비교하였다. 오버 샘플링은 SMOTE 방법을 제시하였다. 오버 샘플링이 데이터 손실이 없고 과적합 가능성이 낮은 장점이 있다고 적었다. 제시된 데이터의 크기가 작기 때문에 데이터 손실을 줄이기 위해 오버 샘플링 방법을 사용하였다.
3) 상관계수 행렬 시각화하고 주성분 분석 진행해서 새로운 파생변수 가능성 설명하시오??
문제가 정확히 기억 안 나는데 상관계수에 넣기 위해 종속변수를 숫자값으로 인코딩하였다. (0(정상), 1(초기), 2(중기), 3(말기) 이런 식으로 이루어져있다. 문자열과 같이 있어서 매핑해서 단순 숫자값으로 인코딩 진행하였다.)
상관계수 시각화한 결과, 따로 다중공선성 문제는 없어서 모든 변수 사용 가능하다고 설명하였다.
이후 주성분 분석 진행하고 주성분 개수를 8개로 했을 때 전체 데이터의 분산 설명력이 85%가 넘었다.
최종 주성분 개수를 8개로 선정한 뒤 주성분 분석 진행하고 이 데이터로 분석 때 사용할 수 있다고 했다.
2. 불균형 데이터에 적합한 성능 지표 3가지 제시 및 적합 이유 설명
성능 지표로 precision(정밀도), recall(재현율), f1-score 제시했다.
정확도의 경우 모델이 다수 레이블로 전부 잘못 예측해도 성능이 높게 나오는 문제가 있는데 위 3가지 성능 평가 지표는 Positive 데이터에 초점을 맞춰서 그렇지 않아서 불균형 데이터에 적합하다. 뭐 이런 식으로 썼던 걸로 기억한다.
3. 앞에서 불균형 문제 전처리한 데이터와 성능 지표로 모델 학습 및 평가하시오. (건강한 사람과 아닌 사람 이진 분류)
언더 샘플링이랑 오버 샘플링 각각 적용한 결과 비교하는 거였는데 처음에 이진 분류랑 학습 데이터 테스트 데이터 행 값(5의 배수에 따라 분류) 조건 나중에 확인해서 제대로 못 풀었다. 이 부분 너무 아쉽다...)
4. 앞에서 불균형 문제 전처리한 데이터와 성능 지표로 모델 학습 및 평가하시오. (간염 초기, 중기, 말기 다중 분류)
종속변수인 Category인 경우 0(정상), 1(초기), 2(중기), 3(말기) 이런 식으로 이루어졌다. 0인 데이터는 제외하고 나머지 1, 2, 3에 대해 다중 분류를 진행......! 해야 하는데 위에처럼 조건을 나중에 확인해서 모델 선언과 평가 함수만 만들었다....
2. 지하철 시간별 이용자 데이터
전처리 해야 될 것으로 명시한 것
- board와 5~23시의 이용자 수를 기반으로 user(이용자 수) 칼럼을 생성하시오. (board=='on'일 때랑 'off'일 때 합산하라고 했던 걸로 기억..)
- aws 데이터의 강수량 결측치 0으로 대체하시오.
- 주말여부를 나타내는 weekday 칼럼을 생성하시오.
- 2021, 2022년 데이터는 학습데이터로, 2023년 데이터는 테스트 데이터로 사용하시오.
기억나는 게 이거 밖에 없지만 subway 데이터와 aws 데이터를 결합하는 것도 있던 걸로 기억한다.
내가 진행한 건 aws 데이터 강수량 결측치 0으로 대체와 주말여부를 나타내는 weekday 칼럼 생성밖에 없다,,
2-1. 문제가 기억이 안 난다..
2-2. 시계열 예측 결과 제시??
최종적으로 user를 예측하는 것으로 대강 기억하는데 정확한지는 모르겠다.
2번 문제는 거의 손도 못 대서 문제조차도 제대로 기억이 안 난다. 그래서 20점 통으로 날아간듯 ㅎㅎ..
2. 통계분석 (40점)
5. A 공장 B 공장에 따른 일간 불량률에 차이가 있는지 검정하시오. (독립표본 t-검정)
데이터 : A 공장과 B공장의 수율(100-불량률)의 값이 주어진 데이터
5-1. 평균과 표준편차를 계산하시오.
A_defect_ratio라는 칼럼 생성해서 100-수율로 계산하였다. (B_defect_ratio도 동일하게 처리)
평균과 표준편차 계산 후 출력하였다.
5-2. 가설 설정하고 검정 통계량 및 검정 결과를 해석하시오.
귀무가설 : A 공장과 B 공장의 일간 불량률에는 차이가 없다.
대립가설 : A 공장과 B 공장의 일간 불량률에는 차이가 있다.
독립표본 t-검정을 진행하기 위해 정규성 검정을 진행했다.
A의 경우 불량률의 검정통계량이 유의수준보다 작아서 정규성을 만족하지 않았다.
따라서 독립표본 t-검정 시 정규성을 만족하지 않는 경우에 수행할 수 있는 맨-휘트니 U 검정을 진행하였다.
차이가 있는지 검정하기 위해 alternative='two-sided'로 수행하였고 유의수준을 고려하여 가설 채택하였다. (기억이 안 남..)
6. 지하철 노선별 지연시간 차이가 있는지 검정하시오. (카이제곱 독립성 검정)
데이터 : 호선(1, 2, 3, 4) 및 지연시간(숫자값, 분단위)으로 이루어진 데이터
6-1. 지연 시간별로 10분 이하, 10분 초과~20분 이하, 20분 초과 세 가지 구간으로 구분하고 호선, 지연 시간별로 교차표를 생성하시오.
교차표 생성만 보고 바로 "카이제곱 독립성 검정을 진행해야겠다"라고 생각했다.
no_1_s = 1호선이면서 10분 이하인 데이터.shape[0] 이런식으로 cnt를 구했다.
총 12개 cnt를 구하고 pd.DataFrame의 index 설정에 문제에서 제시된 세 가지 구간을 입력하여 교차표를 생성했다.
(사실 교차표 만드는 더 나은 방법이 있겠지만 약간 아니 아주 많이 어렵게 코딩한 거 같긴 하다..)
6-2. 교차표로 지하철 노선별 지연 시간 차이가 있는지 검정하시오.
카이제곱 독립성 검정을 수행하여 노선에 따라 지연 시간이 차이가 있는지 검정하였다.
귀무가설 : 노선에 따라 지연 시간은 차이가 없다.
대립가설 : 노선에 따라 지연 시간은 차이가 있다.
카이제곱 독립성 검정을 수행한 결과, 유의수준 하에서 대립가설..? 채택했던 걸로 기억한다.
7. 시계열 분석 (ACF, PACF 개념 설명 및 ARMA 모형 최적의 p, q 값 찾기)
7-1. 데이터가 포아송 분포를 따르는지 확인하는 방법 두 가지 제시 후 수행하기
이 부분은 준비하지도 않아서 못 적었다 아쉬운 5점......
7-2. ACF, PACF 개념 설명 및 패턴을 활용하여 ARMA 모형 최적의 p, q 값 찾으시오.
데이터의 정상성 adfuller로 정상성 검정했을 때 p-value가 유의수준(아마 1%)보다 낮아 정상성을 갖는다고 판단하였다. (대립가설 채택)
ACF, PACF 개념은 적어놨던 거 보고 적고 시각화해서 최종적으로 0으로 수렴할 때의 값으로 정했다.
아마 ARMA(2, 4) 였던 걸로 기억한다.
총평 : 사실 머신러닝 부분은 몇 번 다뤄본 적이 있어서 뒤통수 치는 문제만 아니면 괜찮겠다 싶어서 공부를 소홀히 한 탓이 있는 거 같다. 통계분석이 특히 약해서 남은 일주일 동안 통계분석에 투자를 많이 했더니 머신러닝을 이렇게 못 풀 줄 몰랐다.. 데이터 전처리부터 막히고 문제 조건을 나중에 발견했을 때 "아 망했다" 싶었다. 마지막 페이지 적을 때 24페이지 나왔는데 기출 풀었을 때도 최대 14페이지였던 거 같은데 왜 이렇게 많이 나왔는지 모르겠다.. 확실히 날린 게 25점이 넘어서 합격은 당연히 못할 거라 생각하지만 그래도 나름 생코딩해보고 재밌었다 !
'ADP' 카테고리의 다른 글
제33회 데이터 분석 전문가(ADP) 실기 결과 (1) | 2024.11.03 |
---|