시험은 총 3가지 유형이 있는데,
1. 단답형 (10문제)
2. 작업형 1유형 (3문제)
3. 작업형 2유형 (1문제)
이다
시험 공부를 하며 예제 문제를 풀어보도록 한다
1. 단답형
답 : DBMS
2. 작업형 1유형
1. mtcars 데이터셋(mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후 0.5보다 큰 값을 가지는 레코드 수를 구하시오.
<작업순서>
→ mtcars.csv 로드
→ qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후
→ qsec 컬럼 변환값 중 0.5보다 큰 값을 가지는 레코드 수를 구하시오.
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
# mtcars.csv 로드
data = pd.read_csv('mtcars.csv')
# qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후
data_fin = MinMaxScaler().fit_transform(data[['qsec']])
# qsec 컬럼 변환값 중 0.5보다 큰 값을 가지는 레코드 수를 구하시오.
print(len(data_fin[data_fin >= 0.5]))
# 9개
TIP!
자주 사용해보지 않은 수험자가 sklearn을 세부적으로 다 외우는 것은 매우 힘드므로 help를 적극 사용합시다
3. 작업형 2유형
아래는 백화점 고객의 1년 간 구매 데이터이다.
(가) 제공 데이터 목록
① y_train.csv : 고객의 성별 데이터 (학습용), CSV 형식의 파일
② X_train.csv, X_test.csv : 고객의 상품구매 속성 (학습용 및 평가용), CSV 형식의 파일
(나) 데이터 형식 및 내용
① y_train.csv (3,500명 데이터)
- columns : 2개
* custid: 고객 ID
* gender: 고객의 성별 (0: 여자, 1: 남자)
② X_train.csv (3,500명 데이터), X_test.csv (2,482명 데이터)
고객 3,500명에 대한 학습용 데이터(y_train.csv, X_train.csv)를 이용하여 성별예측 모형을 만든 후, 이를 평가용 데이터(X_test.csv)에 적용하여 얻은 2,482명 고객의 성별 예측값(남자일 확률)을 다음과 같은 형식의 CSV 파일로 생성하시오.(제출한 모델의 성능은 ROC-AUC 평가지표에 따라 채점)
<유의사항>
성능이 우수한 예측모형을 구축하기 위해서는 적절한 데이터 전처리, Feature Engineering, 분류 알고리즘 사용, 초매개변수 최적화, 모형 앙상블 등이 수반되어야 한다.
<풀이>
문제 풀이 순서는 다음과 같이 진행할 예정이다
1. 데이터 읽기
2. 데이터 정제 > 결측값 확인 및 처리
3. 데이터 전처리
4. 모델 학습
5. 평가
6. csv 저장
1. 데이터 읽기
y_train = pd.read_csv('y_train.csv')
X_train = pd.read_csv('X_train.csv',encoding='euc-kr')
test = pd.read_csv('X_test.csv', encoding='euc-kr')
X_train과 test 데이터는 한글 칼럼값이 존재하므로, 인코딩을 해주었다
이렇게 하지않으면 한글이 깨질 수도 있다 !
2. 데이터 정제 > 결측값 확인 및 처리
이후 데이터가 어떻게 구성되어 있는지 확인해준다 head()와 info() 사용
head()를 이용해 데이터 구성을 확인하고, info()를 이용하여
(클릭하면 자세히 보입니다)
y_train는 3500개의 데이터와 2개의 칼럼
X_train는 3500개의 데이터와 10개의 칼럼
test는 2482개의 데이터와 10개의 칼럼
X_train과 test 데이터의 '환불금액'에 결측값이 존재함
결측값에 대해 좀 더 자세히 개수를 살펴보면, 다음과 같음
describe()를 통해 환불금액에 대해서만 자세히 살펴보면,
min 값이 0이 아닌 것을 확인 할 수 있다.
값이 비어있다는 것은 그냥 값 적는 것을 깜빡한 것일 수도 있지만 그 양이 너무 많기 때문에 실수라고 보긴 어려움
즉, 값이 비어있는 값은 환불금액이 0원이라고 판단할 수 있음 (100%는 아니지만 최선의 선택)
그러므로, 결측값을 모두 0으로 변경해줌
이때는 fillna(0)를 사용합니다
이후 결측값이 모두 사라졌음을 확인 !
3. 데이터 전처리
(1) 범주형 데이터를 원핫인코딩을 해줄거임
데이터에서 범주형 칼럼은 총 2개 '주구매상품', '주구매지점'
예상문제 출처 : 데이터자격시험
데이터자격시험
www.dataq.or.kr
'자격증' 카테고리의 다른 글
빅데이터분석기사 실기 시험일/시험시간/문제유형/시험대비 (0) | 2023.11.22 |
---|---|
[빅데이터분석기사 실기 대비] 자격증 정보 및 2회 문제 복원 (0) | 2021.11.25 |