본문 바로가기
빅데이터 분석기사

[빅데이터 분석기사] 제2유형 문제 풀기 - 체험하기 문제

by 공불러 2023. 6. 19.
728x90
반응형

실제 시험 환경을 확인할 수 있는 곳에서 나오는 문제를 풀어보면서 감을 익혀보려고 합니다. 빅데이터 분석기사에서 쓰는 라이브러리가 생각보단 많지 않지만, 코딩을 처음하면 생각보다 복잡할 수 있습니다.

 

문제

mtcars 데이터셋(data/mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후 0.5보다 큰 값을 가지는 레코드 수를 구하시오.

* dataset 위치 : data/mtcars.csv

 

풀이 과정

데이터 불러오기 

데이터 불러올 pandas 설치

#panda import 데이터를 불러오기 위한 라이브러리
import pandas as pd
#sklearn의 MinMaxScaler import Min-Max를 위한 라이브러리

panda로 데이터 불러오기

#데이터는 작은 따옴표(')로 표기
data = pd.read_csv('data/mtcars.csv')

[필수] 데이터가 잘 불러와졌는지 확인하기

위에서 data = pd.read_csv('data/mtcars.csv')로 현재 데이터를 저장한 변수는 data입니다.

그러므로 print문에서 data를 출력해달라고 해야겠죠?

print(data.head(3))

min-max 척도 변환하기

min-max 척도를 적용할 수 있는 방법은 매우 다양합니다. 이번에는 sklearn 라이브러리를 이용해 풀어보겠습니다.

sklearn의 MinMaxScaler()를 사용하면 됩니다.

 

변화해야할 척도를 꼭 확인하기 : 문제 상에서 qsec이라는 변수의 레코드 갯수를 세라고 했기 때문에 qsec를 구하면됩니다.

실제 분석에서는 min-max 척도를 구한 변수명은 기존과 달리하는 것이 좋습니다.

data['qsec']=minmax_scale(data['qsec'])
# data['qsec']으로 qsec을 지정, sklearn의 minmax_scale() 함수로 minmax계산
print(data['qsec'].head(3))
잘계산되었는지 확인

 

0.5보다 큰 레코드 변수 만들기

0.5보다 큰 변수는 true로 그렇지 않으면 false로 바꾸려면 간단한 코드만 작성하면 됩니다.

over5 = data['qsec'] > 0.5

출력하기

print("이게 정답: %d" % over5.sum())

정답은 : 9

 

728x90
반응형

댓글