빅데이터 분석기사 10회 실기시험 후기

오늘은 빅데이터 분석기사 10회 실기 시험이 있는 날이었습니다.

빅데이터 분석기사 10회 실기 후기

최근 체험문제도 업데이트 되고, 9회 실기시험이 워낙 어렵게 나와서 걱정이 많았는데요.

(체험) 제1유형 (풀이용) - 빅데이터분석기사 실기 체험

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io

그래도 10회 시험은 비교적 쉽게 나온 편이었습니다.

1유형 1번에서 unstack이 기억이 안나서 당황해서 진짜 그냥 노가다로 풀었는데요. 집에 와서 ChatGPT에게 물어보니 바로 답을 알려주네요. 아래와 같은 형태로 풀면 되지 않나 싶습니다.

import pandas as pd

# 예시 데이터프레임 생성
data = {
    '소주제': ['수학', '수학', '과학', '수학', '과학', '과학', '영어', '영어', '영어'],
    '정답여부': ['정답', '오답', '정답', '정답', '오답', '정답', '오답', '정답', '정답']
}

df = pd.DataFrame(data)

# 그룹화하여 정답여부의 빈도수 계산
result = df.groupby(['소주제'])['정답여부'].value_counts().unstack()
result['정답률'] = result['정답'] / (result['오답']+result['정답'])

print(result)

다만 저는 기억이 안나서 두개의 그룹으로 나눠서 concat으로 합쳐보면서 노가다로 했는데요.

group1 = df['정답여부'] == '정답'
group2 = df['정답여부'] == '오답'

# 조건별 count
correct_counts = df[group1].groupby('소주제').size()
wrong_counts = df[group2].groupby('소주제').size()

# 병합 (join처럼)
summary = pd.concat([correct_counts, wrong_counts], axis=1)
summary.columns = ['정답', '오답']
#summary = summary.fillna(0).astype(int) 

print(summary)

또 다른 방법은 아래처럼 열을 추가해서 볼수도 있다고 하네요.

df['is_correct'] = df['정답여부'] == '정답'
df['is_wrong'] = df['정답여부'] == '오답'
print(df)

2번은 pd.to_datetime()으로 날짜로 변경해서 풀면 나머지는 풀리는것 같습니다.

df = pd.DataFrame({
    '시간': ['2024-06-20 08:00', '2024-06-20 09:30', '2024-06-21 10:00']
})

#시간을 datetime으로 변경
df['시간'] = pd.to_datetime(df['시간'])

#연도를 따로 뽑거나 형태를 바꿔서 처리
df['year'] = df['시간'].dt.year
df['month'] = df['month'].dt.year

df['시간'].dt.strftime('%Y-%m')

3번은 count함수로 띄어쓰기를 카운트하면 됩니다.

import pandas as pd

# 예제 데이터프레임
df = pd.DataFrame({
    '구분': ['spam'],
    '문구': ['Learning to represent high-dimensional data in lower-dimensional subspace.']
})

# '문구' 열의 띄어쓰기 개수를 '빈칸' 열에 저장
df['빈칸'] = df['문구'].apply(lambda x: x.count(' '))

# 결과 출력
print(df)

3유형은 Logit하고 OLS를 아느냐고 물어봤습니다.

기본코드는 기출문제에서 보던 코드라서 어렵지 않을 것 같네요.

import statsmodels.api as sm

# 예제 데이터 (이진 분류)
df = pd.DataFrame({
    '공부시간': [1, 2, 3, 4, 5, 6],
    '합격':     [0, 0, 0, 1, 1, 1]
})

# 독립변수와 종속변수 설정
X = df['공부시간']
X = sm.add_constant(X)  # 절편 추가
y = df['합격']

# 로지스틱 회귀 모델 (Logit) 적합
logit_model = sm.Logit(y, X)
result = logit_model.fit()

# 결과 출력
print(result.summary())

pvalues하고 params를 안다면 그리 어렵지 않은 평이한 문제였던 것 같습니다.

빅데이터 분석기사 10회 문제 복원

인터넷에 벌써 복원하신 분들도 있더라구요. 대단합니다. 

https://cafe.naver.com/sqlpd/92400

 

빅데이터분석기사 실기 10회차 복원

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

 

[1유형]

1.

(데이터)

대주제,소주제,(무슨 id),(학생 id),(정답 여부: 0,1)

mathematics,linear algebra,1,2,0

mathematics,discrete mathematics,2,3,1

computer science,operating systems,3,4,1



(문제)

정답률 = (정답인 학생 수) / (응답 학생 수)라 할 때,

각 소주제별 정답률이 세 번째로 높은 소주제의 정답률



2.

(데이터)

order_date(datetime이 아닌 object),category,item,price

2024.12.9 12:34 ~ ~ 1000

2025.12.9 12:34 ~ ~ 2000



(문제)

1) 연월별 매출액(price) 합계 중 두 번째로 큰 연/월의 매출액(price)

2) 연월별 매출액(price) 합계 중 네 번째로 큰 연/월의 범주(category)별 매출액(price) 합계의 최댓값



3.

(데이터)

레이블(spam:스팸, ham:스팸아님),내용

spam,Learning to represent high-dimensional data in lower-dimensional subspace.

ham,while approximately preserving spatial geometry.



(문제)

단어 수 = 내용을 띄어쓰기 단위로 구분한 단어의 개수

(e.g., 위 데이터에서,

첫 번째 행의 내용은 "Learning to represent high-dimensional data in lower-dimensional subspace." 인데, 이를 띄어쓰기 단위로 구분한 단어의 개수는 8,

두 번째 행의 내용은 "while approximately preserving spatial geometry." 인데, 이를 띄어쓰기 단윓 구분한 단어의 개수는 5)





레이블이 'spam'인 단어 수의 평균값, 레이블이 'ham'인 단어 수의 평균값의 차이의 절댓값



[2유형]

회귀, 결측치가 X가 아닌 y에 존재하는데, 결측값은 y=0으로 들어가 있다고 문제에서 제시함, object column 1개, 평가는 RMSE, 제출은 pred만



[3유형]

1. statsmodels.api.Logit (상수항 포함)

1) 유의미한 설명변수의 coefficient (pvalue < .05인 coefficient가 한 개 있었는데, 이 변수의 coefficient



2) Odds Ratio (age 한 살, attrition(y \in {0, 1}) 변화)



3) 제시한 데이터를 토대로 predict한 probability



2. statsmodels.api.OLS (상수항 포함)

1) coefficient들의 sum (상수항 제외)



2) 1)에서 구한 결과를 토대로 유의미한 설명변수들만으로 다시 fit()했을 때 model의 rsquared



3) 제시한 데이터를 토대로 predict

다들 시험 공부하느라 고생하셨습니다.

시험 결과는 7월 4일날 사전점수공개가 되고 7월 11일에 최종 합격자 발표한다고 합니다. 두근두근하네요.

합격 후기는 아래 링크를 참고해보세요.

2025.07.04 - [Life/diary] - 비전공자 직장인 빅데이터 분석기사 독학 합격 후기

 

비전공자 직장인 빅데이터 분석기사 독학 합격 후기

블로그에 제휴 및 홍보 링크가 포함되어 있으며, 파트너스 활동의 일환으로 일정액의 수수료를 받습니다.전공과 관련없지만 요즘 빅데이터가 워낙 여기저기서 들려오기 때문에 한번 따보려고

dorudoru.tistory.com

 

728x90

해당 블로그에서 발행되는 콘텐츠 중 일부 글에는 제휴 및 홍보 관련 링크가 포함될 수 있으며, 파트너스 활동의 일환으로 일정액의 수수료를 받을 수 있습니다.