인증
2023.12.15 - [자격증/빅데이터분석기사] - [빅분기] 실기 7회 합격 & 합격비법
유형 1
1. 이상치 구하는 방식
1) IQR 이용
IQR을 사용한 이상치 공식은
(x[data] < ( Q1 - 1.5 x IQR )) | (x[data] < ( Q3 + 1.5 x IQR )) 이다
q1 = df[''].quantil(0.25)
q3 = df[''].quantil(0.75)
IQR = q3 - q1
#이상치 구하기
df[(df[''] < (q1 - IQR * 1.5)) | (df[''] > (q3 + IQR * 1.5))]
2) 문제에서 주어진 이상치
ex. 이상값은 평균에서 1.5 표준편차 이상인 값으로 한다.
lo = x[data].mean() - x[data].std() *1.5
up = x[data].mean() + x[data].std() *1.5
이상치 공식은
(x[data] < lo) | (x[data] < up) 이다
그 반대(이상치 제외)는
(x[data] >= lo) & (x[data] >= up) 이다
lo = new_df.mean() - new_df.std() * 1.5
up = new_df.mean() + new_df.std() * 1.5
#이상치 구하기
df[(df[''] < lo) | (df[''] > up)]
#이상치 제외
df[(df[''] >= lo) & (df[''] <= up)]
2. 문자열 수치형으로 변환
일반적으로 수치형 float를 int로 변환할 때는
df[''].astype(int)
df[''].astype(float)
가능하지만
문자열 -> 수치형은 astype() 이 불가능하다. 이때는 to_numeric() 을 사용한다.
(※ 빅분기에서 수치형-문자형은 나올 가능성이 없어, 문자-> 수치는 알아두는 것이 좋다.)
pd.to_numeric( df[''] , errors='coerce' )
# errors='coerce' 는 결측치 등 있을 경우 변환시 방지할 때 쓰는데, 함께 외우는 것이 좋다.
유형 2
프로세스)
1. info()로 정보 확인
2. 결측치 확인
#결측치 여부에 따른 채우기
#이상치 확인 (ex.나이일 경우, -값 지우기)
3. 데이터 분리
4. 범주형 인코딩
5. 검증 데이터 분리
6. 모델학습
7. 모델평가
8. Test 모델예측 생성
9. 예측 데이터셋 생성
10. 제출 및 확인
1. 이진분류(종속변수: 범주형)
프로세스 과정은 동일한데, f1 등의 모델 평가하는 부분에서 차이가 있다.
# f1 score
average='binary', pos_label='Yes'
#7. 모델 평가
from sklearn.metrics import f1_score, roc_auc_score
f1_score(y_val, pred, average='binary', pos_label='Yes')
# ACU
ACU의 모델 평가하는 부분에서는 동일하다.
#6. 모델 학습
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=44)
model.fit(x_tr, y_tr)
pred = model.predict_proba(x_val)[:,1]
#7. 모델 평가
from sklearn.metrics import f1_score, roc_auc_score
roc_auc_score(y_val, pred)
2. 다중분류(종속변수: 범주형)
프로세스 과정은 동일한데, f1, ACU 등의 모델 평가하는 부분에서 차이가 있다.
# f1 score
average='macro'
#7. 모델 평가
from sklearn.metrics import f1_score, roc_auc_score
f1_score(y_val, pred, average='binary', pos_label='Yes')
# ACU
average='macro', multi_class='ovo'
ACU의 경우 저장하는 방식에도 차이가 있다.
모델 평가시,
pred = model.predict_proba(x_val)
데이터 저장시,
(이때, 컬럼명 주어진대로 저장하는 거 잊지말고, 잘 기억하자)
1: pred[:,0]
...
4: pred[:,3]
#6. 모델 학습
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=44)
model.fit(x_tr, y_tr)
pred = model.predict_proba(x_val)
#7. 모델 평가
from sklearn.metrics import f1_score, roc_auc_score
roc_auc_score(y_val, pred, average='macro', multi_class='ovo')
#8. 평가(test) 데이터 예측
pred = model.predict_proba(test)
#9. 데이터 생성(4개의 범주형 예측하는 상황)
new_df = pd.DataFrame({'ID':test_ID,
1:pred[:,0],
2:pred[:,1],
3:pred[:,2],
4:pred[:,3]})
3. 회귀(종속변수: 수치형)
프로세스 과정은 동일한데, f2, MSE,RMSE 등의 모델 평가하는 부분에서 차이가 있다.
# f2_score : 1에 가까울 수록 좋음( r-square값 )
#7. 모델 평가
from sklearn.metrics import f2_score
f2_score(y_val, pred)
# MSE,RMSE : 작을수록 좋음
#7. 모델 평가
from sklearn.metrics import mean_square_error
#MSE
print(mean_square_error(y_val, pred))
#RMSE
print(mean_square_error(y_val, pred) ** 0.5)
유형 3
크게 4가지로 T-test 검정, 카이제곱검정, 회귀분석, 분산분석 이 있다.
1. T-test 검정
1.1 단일표본검정
H0: A가 100이다.
H1: A가 100이 아니다.
(※ H1에 따라, alternative가 존재할 때, 'less' 또는 'greater')
: 모집단 1개이며, 전/ 후가 아님.
1) 정규성검정(shapiro(data))
yes => 단일표본검정(ttest_1samp(data, 기대값))
no => 비모수검정(wilcoxon(data - 기대값))
1.2 대응표본검정
μd = 전 - 후
Ho : μd ≥ 0
H1 : μd < 0
(※ H1 의 μd 에 따라, alternative가 존재할 때, 'less' 또는 'greater')
: 모집단 1개이며, 전/ 후 존재.
1) 정규성검정(shapiro(diff))
diff = 전 - 후
(※ μd 순서대로 작성)
yes => 대응표본검정(ttest_rel(data['전'], data['후'], alternative = 'less'))
no => 비모수검정(wilcoxon(data['전'], data['후'], alternative = 'less' ))
1.3 독립표본검정
Ho : A그룹 B그룹 ~이다.
H1 : A그룹 B그룹 ~아니다.
(※ H1에 따라, alternative가 존재할 때, 'less' 또는 'greater')
: 모집단 2개인 경우.
1) 정규성검정(shapiro(data1)/ shapiro(data2))
2번 다 수행, 모두 정규성을 만족해야 함
yes => 등분산검정
no => 비모수검정(manh(data1, data2))
2) 등분산검정(levene(data1, data2))
모두 등분산을 만족해야 함
yes => 독립표본검정(ttest_ind(data1, data2))
no => 독립표본검정(ttest_ind(data1,data2, equal_var = False))
2. 카이제곱 검정
'IT 자격증 > 빅데이터분석기사' 카테고리의 다른 글
[빅분기] 실기 7회 합격 & 합격비법 (0) | 2023.12.15 |
---|---|
[빅분기] 실기 3유형 체험환경(신유형/ 구유형) 예제 풀이 (0) | 2023.11.28 |
[빅분기] 실기 유형별 정리(문제접근 방식 모음) D-day!! (D-6 단기간 공부법) (0) | 2023.11.27 |
[빅분기] 실기 2유형 체험환경(신유형/ 구유형) 예제 풀이 (0) | 2023.11.27 |
[빅분기] 실기 환경 팁 (0) | 2023.11.26 |