가공해야할 데이터 확인하고 그 중에 타겟 변수를 확인
문제 1 라이브러리 Import
import seaborn as sns
문제 2 라이브러리 Import
import pandas as pd
문제 3 데이터 프레임 생성 - 데이터 모델링을 위해 준비된 데이터 파일을 변수에 할당
df = read_csv(or json, xml...)(/X0000.csv)
문제 4 특정 컬럼에 대한 일변량 그래프 확인 - barplot
문제 5 특정 컬럼에 대한 일변량 그래프 확인 - boxplot
문제 6 이상치 확인 및 이상치 삭제
문제 7 결측치 행 확인 및 결측치 삭제 (isnull.sum)
문제 8 불필요 컬럼 삭제 (drop)
문제 9 원-핫 인코딩 or 라벨 인코딩 (le = labelencoder())
주어진 데이터에는 범주형 컬럼이 포함되어 있고 이를 수치형으로 처리할 수 있는지 보는 문제
get_dummies or labelencoding 함수를 통해 수치형 (0,1,2...) 값으으로 바꾸는 과정 진행
변환과정을 확실히 익혀두고 기계적으로 작성할 줄 알아야 당황하지 않을 듯 하다.
문제 10 머신러닝 & 딥러닝 처리용 데이터셋 분리
타겟 변수를 y 값, 그 외 컬럼을 x 로 할당 (훈련 및 검증 데이터셋 분리)
x_train, y_train, x_val, y_val = train_test_split(x, y, random_state= 1)
문제 11 머신러닝 모델
회귀 및 분류 모델 종류 파악하기. 각 모델 별로 코드 작성법이 다르니 차이를 중점적으로 암기할 것.
시간이 많이 주어지는 시험이 아닌대신 오픈북이기 때문에, 문제를 보고 제시하는 모델의 코드틀을 검 후 바로 작성할 수 있도록 연습
문제 12 머신러닝 성능 평가
mse, mae ...
문제 13 딥러닝 모델
히든레이어, dropout 비율, 손실함수, 하이퍼파라미터(epochs, batch_size), history 변수에 저장
항상 같은 코드 작성을 요구하는 듯하니 딥러닝 작성 코드를 통째로 외워버리고 실제시험에서 당황할 수 있는 부분만 미리 준비를 해놓으면 될것 같다
문제 14 딥러닝 성능 평가
mse, mae
[출처] AICE ASSOCIATE 후기 및 다음 시험 대비|작성자 dsungy3k
1.seaborn을 활용해서 데이터 간 상관관계를 히트맵 그래프로 시각화해라
그리고 하단에 가이드가 나왔어요. 데이터 프레임 이름이나 어노테이션 포함해라 등등... import seaborn as sns import matplotlib.pyplot as plt 해줘야 하는건 다들 알죠~? 2.지정된 컬럼으로 seaborn을 활용해 barplot그래프를 그려라
하단에 가이드 나오고 그대로 코딩 고고 sns.barplot(x='어쩌고', y='저쩌고', data=어쩌고) 오예 아직까지는 할만 했었음 3.데이터프레임 전처리
하단에 가이드 나옴. 제거해야 할 컬럼 어쩌고 저쩌고 나온 뒤에 데이터프레임에 저장하라고 나왔음. 데이터이름.drop(['컬럼들', '줄줄이', '쓰삼'], axis=1) 4.데이터 결측치 처리 후 전처리
일단 결측치를 확인해줘야겠죠? 임의로 이름 정해줬었나 = 데이터이름.isnull().sum() 결측치 0으로 변경해주자 데이터이름.fillna(0) 5.float타입 결측치데이터를 0으로 변환해서 지정된 이름으로 저장
동일하게 결측치 확인해준 후 fillna 해주고, 문제에서 지정한 이름으로 저장해줌. 지정된이름= 데이터이름.fillna(0) 6. Scikit-learn의 label encorder를 사용해서 범주형 데이터를 수치형 데이터로 변환
여기서부터 좀 난이도가 생긴 느낌 일단 (1)라벨인코더 객체 생성 이름 그냥 간단하게 label_encoder 라고 했었던듯? = LabelEncoder() (2)대상 컬럼 목록을 묶어줌 (3)라벨인코딩 적용 고고 7.훈련과 검증에 필요한 데이터셋 분리
하단에 이것도 가이드 나오고 대상 데이터프레임이랑, 훈련 및 검증 데이트셋 등등 비율까지 나왔음 80:20이었던듯. train_test_split함수 사용해라. (1)일단 Features(x)와 Label(y)을 분리해야겠죠? X = 데이터이름.drop('label_yn', axis=1) y = 데이터이름['label_yn'] (2) 분리 X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y) (3)분리된 데이터셋 확인 print("훈련 데이터셋 크기:", X_train.shape, y_train.shape) print("검증 데이터셋 크기:", X_valid.shape, y_valid.shape) 8.정규화하고 표준화해라
Minmaxscaler사용. 잘 기억이 안나네.. 9.랜덤포레스트 모델로 학습 진행
결정트리개수 100개 최대 feature개수 13개 .... from sklearn.ensemble import RandomForestClassifier (1)랜덤 포레스트 모델 생성 및 하이퍼파라미터 설정 모델 = RandomForestClassifier(n_estimators=100, max_features=13, 그 뒤는 기억이 안나 .....) (2)모델 훈련 model.fit(X_train_normalized, y_train) 10. 랜덤포레스트 모델로, 하이퍼파라미터 설정값을 적용해 학습을 진행해라.
모델.fit(X_train_normalized, y_train) 11.모델 성능평가 및 히트
성능평가는 검증데이터셋 활용해 이전 문제에서의 모델로 Y값을 Y_PRED에 저장해 어쩌고 저쩌고 변수를 어디 변수에 저장해~~ from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt |
'IT 자격증 > AICE Associate' 카테고리의 다른 글
AICE Associate 6월 후기 (0) | 2024.06.27 |
---|---|
AICE Associate 참고 링크 (0) | 2024.06.26 |
AICE Associate - 샘플문제 풀이 (0) | 2024.06.24 |
AICE Associate - 데이터 전처리2 (기타 등등) (0) | 2024.06.19 |
AICE Associate - 딥러닝 (0) | 2024.06.19 |
댓글