728x90
반응형
참고자료:
https://youtu.be/3aAS0yyqLV4?si=D1KwxD3VBID_LH1A
https://product.kyobobook.co.kr/detail/S000213942959
2025 이기적 빅데이터분석기사 필기 기본서 | 나홍석 - 교보문고
2025 이기적 빅데이터분석기사 필기 기본서 | 최신 출제기준을 적용한 도서로, 빅데이터분석기사 필기 시험의 출제 경향을 철저히 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비
product.kyobobook.co.kr
빅데이터분석기사 실기 2유형 템플릿 (회귀/분류)
빅데이터분석기사 실기 2유형 템플릿 (회귀/분류) 둘다 범용적으로 사용가능 한 템플릿 공유합니다.
2025 이기적 빅데이터분석기사 실기 문제 기출문제 3회(2021-12-04 시행) 에서 발췌한 작업형 제 2유형 기준으로 "
IT의 답을 터득하다, 아답터 " 님의 영상을 참고하였습니다.
나중에 쓸때 csv 파일 위치만 수정하고 주석 참고하셔서 진행하시면 됩니다.
빅데이터분석기사_실기_2유형_템플릿.ipynb
0.00MB
#step 0. 문제 파악
"""
회귀/분류 & 예측값
"""
trainX = pd.read_csv('https://raw.githubusercontent.com/YoungjinBD/data/main/exam/3_2_trainX.csv')
trainy = pd.read_csv('https://raw.githubusercontent.com/YoungjinBD/data/main/exam/3_2_trainy.csv')
testX = pd.read_csv('https://raw.githubusercontent.com/YoungjinBD/data/main/exam/3_2_testX.csv')
#step 1. 데이터 유형 파악
print(trainX.info())
print(trainy.info())
print(testX.info())
#step 2. 전처리
#2-1 X, Y, train/test set 분리
"""
train_X 데이터에 예측값(y가 존재할 경우) 제거해줘야한다.
X = train.drop(['y컬럼'], axis = 1)
y = train['y컬럼']
"""
X_full = pd.concat([trainX, testX], axis = 0)
X_full = pd.get_dummies(X_full)
#2-2 결측치 처리
"""
위에 info() 를 통해 null 값이 있는지 확인하고 null 값을 지우거나 채워준다
X_full['null_존재컬럼'] = X_full['null_존재컬럼'].fillna(0)
or
X_full['null_존재컬럼'] = X_full['null_존재컬럼'].dropna()
"""
#2-3 2-4 수치형 변수 스케일링 skip & 범주형 변수 인코딩
X_full = pd.get_dummies(X_full)
# print(X_full.shape)
#step 3. 데이터 분리
X_train = X_full[:trainX.shape[0]]
X_test = X_full[trainX.shape[0]:]
from sklearn.model_selection import train_test_split
X_train, X_val, y_train, y_val = train_test_split(X_train, trainy, test_size = 0.2, stratify = trainy)
# step 4. 모델학습 및 검증
"""
회귀일 경우 RandomForestRegressor
분류일 경우 RandomForestClassifier
"""
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
y_val_pred = model.predict(X_val)
# step 5. 평가 (skip 가능)
"""
평가가 필수는 아니나 예측률을 테스트 해 볼 수 있음
너무 낮을 경우 회귀 <-> 분류가 바뀌지 않았다 다시 한번 체크
회귀: root_mean_squared_error
분류: roc_auc_score, accuracy_score
"""
from sklearn.metrics import roc_auc_score, accuracy_score
acu_score = roc_auc_score(y_val, y_val_pred)
acc = accuracy_score(y_val, y_val_pred)
print(acu_score, acc)
# step 6. 결과 저장
y_pred = model.predict(X_test)
result = pd.DataFrame(y_pred, columns = ['pred'])
result.to_csv('result.csv', index = False)
#step 7. 생성 결과 확인
result = pd.read_csv('result.csv')
#print(result)
728x90
반응형
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
[Python] Pandas 메서드 총 정리 (0) | 2025.05.17 |
---|---|
[Python] NumPy 함수 총 정리 (0) | 2025.05.12 |
빅데이터분석기사 3주 독학 필기 합격 리뷰 (0) | 2025.04.20 |
[P04CH01S01-S02] 분석모형 평가 및 개선 (0) | 2025.03.19 |
[P04CH01S02] 분석결과 해석 (0) | 2025.03.19 |