일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 에트리 인턴
- cnn
- kaggle
- 다변량분석
- Eda
- SQL
- 에이블스쿨
- 머신러닝
- ETRI
- 하둡
- 하계인턴
- 에이블러
- 웹크롤링
- dx
- matplot
- 가나다영
- 시각화
- ggplot2
- KT 에이블스쿨
- 프로그래머스
- 지도학습
- 기계학습
- 빅데이터분석기사
- httr
- 서평
- SQLD
- ML
- KT AIVLE
- Ai
- 빅분기
- kt aivle school
- hadoop
- python
- 한국전자통신연구원 인턴
- 소셜네트워크분석
- 딥러닝
- 시계열
- r
- 한국전자통신연구원
- arima
Archives
- Today
- Total
소품집
[빅분기] 22년 2회차 빅데이터분석기사 실기 정리 본문
728x90
1. 사용할 수 있는 패키지 (22년도 2회차 기준)
2. 응시환경에서 실습하기 - Kaggle
https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr
작업형 1 유형
1. 평균 구하기
- 주어진 Dataset에서 CRIM값이 가장 큰 10개의 지역을 구하고
- 10개의 지역의 CRIM값을 그 중 가장 작은 값으로 대체해
- AGE 컬럼 값이 80이상인 대체 된 CRIM 평균값을 구하라
df = df.sort_values('CRIM', ascending = False) # 내림차순 정렬
df.head()
min_crim = df['CRIM'].head(10).min() # 상위 10개 중 최솟값 찾아 저장
min_crim
df.iloc[:10, 0] = min_crim # 상위 10개를 최솟값으로 대치
result = df.loc[df['AGE']>=80, 'CRIM'].mean() # AGE가 80 이상인 CRIM의 평균값
print(result)
# 2022년 데이터 중 2022년 중앙값보다 큰 값의 데이터 수
# 데이터의 수 > 행의 수 > loc로 ~
cond1 = df.loc['2022년'].median()
print(sum(df.loc['2022년', :] > cond1))
- 결측치 행을 제거하고, 앞에서부터 60% 를 활용해 'f1' 컬럼의 3사분위 값을 구하시오
# df.iloc[행 인덱스, 열 인덱스]
df.dropna(inplace=True)
df.iloc[:int(len(df) * 0.6)]
# print(df['f1'].describe())
print(77.25)
- 결측치가 가장 큰 값의 컬럼명을 구하자
df_count = df.isna().sum()
print(df_count.index[3])
2. 표준편차 비교하기 / 비율, 조건, 선택하기
df.isna().sum() # 결측치 확인
# 대체 컬럼은 임의로 지정함
# 대체 전 표준편차 계산
bf_std = np.std(df['INDUS'])
# 중앙값으로 결측치 채우기
df['INDUS'].fillna(df['INDUS'].median(), inplace=True)
# 대체 후 표준편차 계산
af_std = np.std(df['INDUS'])
result = af_std - bf_std
print(result)
# 데이터 파일 읽기 예제
import pandas as pd
a = pd.read_csv("data/fb.csv")
level = (a['loves'] + a['wows']) / (a['reactions'])
cond1 = level > 0.4
cond2 = level < 0.5
cond3 = a['type'] == 'video'
print(len(a[cond1 & cond2 & cond3]))
# 답안 제출 예시
# print(평균변수값)
# 데이터 파일 읽기 예제
import pandas as pd
a = pd.read_csv("data/nf.csv")
#print(a.info())
# 사용자 코딩
#print(a.head())
#print(a['date_added'])
a['date_added'] = pd.to_datetime(a['date_added']) # 데이터 타입으로 변환
cond1 = a['date_added'].dt.year == 2018
cond2 = a['date_added'].dt.month == 1
cond3 = a['country']=='United Kingdom'
print(len(a[cond1 & cond2 & cond3])) # 조건 식을 만족하는 데이터의 개수
# 답안 제출 예시
# print(평균변수값)
3번 문제 : 이상치 합 구하기
- oo 컬럼의 평균으로 부터 1.5 * 표준편차를 벗어나는 영역을 이상치라고 판단하고
- 이상치들의 합을 구하여라
# 1.5 * std 값 구하기
std = np.std(df['TAX']) * 1.5
# 컬럼의 평균에 이상치 영역 min, max 구하기
min_std, max_std = df['TAX']-std, df['TAX']+std
# min-max 범위를 벗어나는 값을 선택해 합계 구하기
result = df.loc[(df['TAX']>max_std) | (df['TAX']<min_std), 'TAX'].sum()
print(result)
작업형 2 유형
Dataset - https://www.kaggle.com/prachi13/customer-analytics
# 패키지와 모듈은 자동완성 기능을 사용할 수 없어서 이점을 잘 생각하면서 준비했다.
자격증이니까 최대한 힘 안주고 합격만 하면 되는 수준으로 공부했다.
728x90
'AI' 카테고리의 다른 글
[R] R에서 병렬처리 하기 - doParallel (0) | 2023.02.07 |
---|---|
[알고리즘] Boruta 알고리즘 기반 변수선택 (4) | 2023.01.15 |
노력할수록 운이 좋아진다 (0) | 2022.10.21 |
[python] XGBosst warning 해결방법, jupyter GPU 잡기 (0) | 2022.09.25 |
[ML] MIMIC-II 데이터 기반 패혈증 환자 분류 (0) | 2022.09.17 |
Comments