본문 바로가기
Career/Certificate

[빅데이터분석기사] 실기 - 작업형 제 1유형

by 5ole 2021. 6. 9.

 

작업형 제 1유형 : 데이터 처리 영역 (3문제) X 10점

 

 

데이터 수집 작업 데이터 수집하기
  • 정형, 반정형, 비정형 등 다양한 형태의 데이터를 읽을 수 있다.
  • 필요시 공개 데이터를 수집할 수 있다.
데이터 전처리 작업 데이터 정제하기
  • 정제가 필요한 결측값, 이상값 등이 무엇인지 파악할 수 있다.
  • 결측값와 이상값에 대한 처리 기준을 정하고 제거 또는 임의의 값으로 대체할 수 있다.
데이터 변환하기
  • 데이터의 유형을 원하는 형태로 변환할 수 있다.
  • 데이터의 범위를 표준화 또는 정규화를 통해 일치시킬 수 있다.
  • 기존 변수를 이용하여 의미 있는 새로운 변수를 생성하거나 변수를 선택할 수 있다.
데이터 모형 구축 작업 분석모형 선택하기
  • 다양한 분석모형을 이해할 수 있다.
  • 주어진 데이터와 분석 목적에 맞는 분석모형을 선택할 수 있다.
  • 선정모형에 필요한 가정 등을 이해할 수 있다.
분석모형 구축하기
  • 모형 구축에 부합하는 변수를 지정할 수 있다.
  • 모형 구축에 적합한 형태로 데이터를 조작할 수 있다.
  • 모형 구축에 적절한 매개변수를 지정할 수 있다.
데이터 모형 평가 작업 구축된 모형 평가하기
  • 최종 모형을 선정하기 위해 필요한 모형 평가 지표들을 잘 사용할 수 있다.
  • 선택한 평가지표를 이용하여 구축된 여러 모형을 비교하고 선택할 수 있다.
  • 성능 향상을 위해 구축된 여러 모형을 적절하게 결합할 수 있다.
분석결과 활용하기
  • 최종모형 또는 분석결과를 해석할 수 있다.
  • 최종모형 또는 분석결과를 저장할 수 있다.

 

 

 

범주형, 숫자인 컬럼 찾기

df.select_dtypes(include=object).columns

df.select_dtypes(include=np.number).columns

 

범주형 -> 숫자

from sklearn.preprocessing import LabelEncoder

enc = LabelEncoder()
product = enc.fit_transform(X_train['주구매상품'])

 

연속형 -> 범주형

pd.cut

np.histogram

 

범주형 더미변수화 : 0, 1로 이진화

print(pd.get_dummies(X_train['주구매상품'], prefix='주구매상품', drop_first='True').shape)

 

특정 컬럼의 유니크값 출력

print(X_train['주구매상품'].unique())

 

특정 컬럼의 각 도수 세기

print(X_train['주구매상품'].value_counts())

 

열 삭제

del X_train['cust_id']

X_train = X_train.drop('cust_id', axis=1)

 

행 삭제

X_train = X_train.drop(X_train['cust_id'][30])

 

중복 행 확인

duplicated()

 

데이터 병합

pd.merge

pd.concat

 

 

스케일링

  • StandardScaler

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
qsec = pd.DataFrame(mtcars['qsec'])
qsec = scaler.fit_transform(qsec)

 

  • RobustScaler
  • MinMaxScaler
  • Normalizer

 

NA값 처리

dropna

fillna

 

 

이상치 처리

q25, q50, q75 = np.percentile(mtcars['wt'], [25,50,75])
IQR = q75 - q25
outlier = mtcars['wt'][(mtcars['wt']> q75 + IQR*1.5) | (mtcars['wt']< q25 - IQR*1.5)].values

 

텍스트 추출 

mtcars['brand'] = mtcars.iloc[:,0].str.split(' ', expand=True)[0]

 

끝이 특정문구로 끝나는 행 찾기

str.endswith('many')

 

 

상관계수

print(mtcars.corr())

 

데이터 정렬

sort_values(ascending=False))

 

Groupby

groupby(['Area']).count()

 

 

 

 

댓글