일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데이터전처리
- 파이썬
- OpenGL
- 너무오래됐다
- 오류
- 사각형변형
- selenium
- 마우스클릭
- 애니메이션
- 색상변경
- 언제또가보지
- 호주
- 유니코드 제거
- 보라카이
- 빅데이터분석기사
- 갈자신이없다
- 예쁜곳
- 정말
- 빅데이터분석기사필기
- BeautifulSoup
- 가고싶은데
- 필기후기
- 멜버른
- 빅데이터분석기사후기
- 방향변경
- 청청구역
- 크롤링
Archives
- Today
- Total
wisdiom 아니고 wisdom
[빅분기 실기 예시문제] 작업형 제1유형 : 데이터 처리 영역 본문
🔥 선행 필수 내용
https://spreadyourwisdiom21.tistory.com/8
2. 데이터 사전 처리
Data Preprocessing 데이터 분석의 정확도는 분석 데이터의 품질에 의해 좌우된다. 데이터 품질을 높이기 위해 누락 데이터, 중복 데이터 등 오류를 수정하고 분석 목적에 맞게 변형하는 과정이 필요
spreadyourwisdiom21.tistory.com
작업형 제1유형 : 데이터 처리 영역¶
Q. mtcars 데이터셋(mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 반환한 후 0.5보다 큰 값을 가지는 레코드 수를 구하시오.
📚 Library¶
In [ ]:
import pandas as pd
import numpy as np
🔍 데이터 살펴보기¶
In [ ]:
path = '/content/drive/MyDrive/bigdata/빅분기_실기/[Dataset] 작업형 제1유형/mtcars.csv'
df = pd.read_csv(path)
In [ ]:
df.head()
Out[ ]:
In [ ]:
df = df.iloc[:, 1:]
df.head()
Out[ ]:
In [ ]:
df.info()
In [ ]:
df.describe()
Out[ ]:
Min-Max Normalization(최소-최대 정규화)¶
1) 수식 이용¶
- $\frac{x - min(x)}{ max(x) - min(x)}$
In [ ]:
df1 = df
df1.head()
Out[ ]:
In [ ]:
x_min = df1.qsec - df1.qsec.min()
max_min = df1.qsec.max() - df1.qsec.min()
df1.qsec = x_min / max_min
In [ ]:
df1.qsec.head()
Out[ ]:
In [ ]:
mask1 = (df1.qsec > 0.5)
answer1 = df1.loc[mask1, :].qsec.count()
print('0.5보다 큰 값을 가지는 레코드 수 >> ', answer1)
2) Scikit-learn 라이브러리 이용¶
In [ ]:
df2 = df
df2.head()
Out[ ]:
In [ ]:
from sklearn import preprocessing
In [ ]:
df2 = preprocessing.MinMaxScaler().fit_transform(df2)
In [ ]:
df2 = pd.DataFrame(df2, columns=df.columns)
df2.head()
Out[ ]:
In [ ]:
mask2 = (df2.qsec > 0.5)
answer2 = df2.loc[mask2, :].qsec.count()
print('0.5보다 큰 값을 가지는 레코드 수 >> ', answer2)
📍 데이터 정규화¶
1) min-max normalization¶
- $\frac{x - min(x)}{ max(x) - min(x)}$
0 ~ 1 사이의 값으로 변환
2) z-score strandardization¶
- $\frac{x - mean(x)}{std(x)}$
평균이 0 이고 분산이 1 인 표준 정규 분포로 변환
📌 Z-Score 정규화¶
In [ ]:
z_df1 = df
z_df1.head()
Out[ ]:
In [ ]:
z_df1.qsec = (z_df1.qsec - z_df1.qsec.mean()) / (z_df1.qsec.std())
print(f'mean: {z_df1.qsec.mean()}, std: {z_df1.qsec.std()}')
In [ ]:
z_df2 = df
df.head()
Out[ ]:
In [ ]:
from sklearn import preprocessing
z_df2 = preprocessing.StandardScaler().fit_transform(z_df2)
z_df2 = pd.DataFrame(z_df2, columns=df.columns)
z_df2.head()
Out[ ]:
In [ ]:
print(f'mean: {z_df2.qsec.mean()}, std: {z_df2.qsec.std()}')
In [ ]:
반응형
'👩🎓✍ > BigData 분석기사' 카테고리의 다른 글
[빅분기 실기 예시문제] 단답형 문제 (0) | 2021.05.25 |
---|---|
제2회 빅데이터 분석기사 필기 후기 (0) | 2021.05.25 |
35. 분석 결과 해석 및 활용 (0) | 2021.03.30 |
34. 분석 모형 개선 (0) | 2021.03.30 |
33. 교차 검증, Cross Validation (0) | 2021.03.24 |
Comments