본문 바로가기

자격증공부/빅데이터분석기사

[빅데이터분석기사] 모의고사3 (결측치, 분류, map, 단일T검정) [유형1] 결측치 처리(map 활용) (문제) 주어진 데이터에서 결측치가 80% 이상 되는 컬럼은 삭제하고, 80% 미만인 결측치가 있는 컬럼은 'city' 별 중앙값으로 값을 대체하고, 'f1'컬럼의 평균값을 출력하세요. ㅇ 문제 바로가기(캐글) * df['컬럼명'].map( { 'A':a, 'B':b, 'C':c }) * 결측치 대체 - 결측치 컬럼 삭제 : df.drop['컬럼명'] - 결측치 채우기 : df.fillna(값) (풀이) import pandas as pd df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') # print(df.head()) # print(df.info()) # print(df.shape) # print(df.. 더보기
[빅데이터분석기사] 모의고사2 (이상치, 소수점데이터 찾기, 소수점데이터처리, 분류(3개set), 독립표본t-test) * 퇴근후딴짓 님의 캐글 문제를 제가 풀어본 결과입니다.* [유형1] 이상치찾기, 소수점데이터 찾고 처리하기(올림/내림/버림) (문제) 주어진 데이터에서 이상치(소수점 나이)를 찾고 올림, 내림, 버림(절사)했을때 3가지 모두 이상치 'age' 평균을 구한 다음 모두 더하여 출력하시오. -> 문제 바로가기(캐글) * 올림/버림/내림 - import numpy as np - 올림 : np.ceil(df['컬럼명']) - 내림 : np.floor(df['컬럼명']) - 버림 : np.trunc(df['컬럼명']) * 소수점 데이터 찾는 방법 : 값 - 내림해서 뺀 값이 0이 아닌 경우 : df['컬럼'] - np.floor(df['컬럼') != 0 (풀이) # 라이브러리 및 데이터 불러오기 import pa.. 더보기
[빅데이터분석기사] 모의고사 1 (이상치, 분류(3개set), 쌍체T표본검정) * 퇴근후딴짓 님의 캐글 문제를 제가 풀어본 결과입니다. * [유형1] 이상치 찾기 -> 문제 바로가기(캐글) (문제) 데이터에서 IQR을 활용해 Fare컬럼의 이상치를 찾고, 이상치 데이터의 여성 수를 구하시오 (풀이) # 라이브러리 및 데이터 불러오기 import pandas as pd df = pd.read_csv("../input/titanic/train.csv") # EDA # print(df.head(3)) # print(df.shape) # print(df.info()) # print(df.isnull().sum()) # IQR 구하기 (IQR = Q3-Q1) # 최대 : Q3 + 1.5*IQR / 최소 : Q1-1.5*IQR Q3 = df['Fare'].quantile(.75) Q1 = d.. 더보기
[빅데이터분석기사] 모의고사 5 (누적합, 결측치, 이상치, 정렬, 회귀, 정규분포검증) [유형1-1] 누적합, 결측치 처리 (문제) 주어진 데이터에서 f2컬럼이 1인 조건에 해당하는 데이터의 f1컬럼 누적합을 계산한다. 이때 발생하는 누적합 결측치는 바로 뒤의 값을 채우고, 누적합의 평균값을 출력한다. (단, 결측치 바로 뒤의 값이 없으면 다음에 나오는 값을 채워넣는다.) ㅇ 문제 바로가기(캐글) * 누적합 : df.cumsum() * 결측치 앞/뒤 값으로 채우기 : df.fillna(method = "bfill/ffill") (풀이) import pandas as pd df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') # print(df.head(2)) # print(df.shape) # print(df.info()) # 누적.. 더보기
[빅데이터분석기사] 모의고사4 (표준편차, 그룹합, 값 대체, 회귀, 일원배치법) [유형1-1] 표준편차 구하기 (문제) 주어진 데이터에서 f1 컬럼값이 'ENFJ'와 'INFP'인 'f1'의 표준편차 차이를 절대값으로 구하시오. ㅇ 문제 바로가기(캐글) * 표준편차 : df[조건]['컬럼'].std() (풀이) import pandas as pd df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv') # print(df.head(3)) # print(df.shape) # print(df.info()) cond1 = df['f4'] == 'ENFJ' cond2 = df['f4'] == 'INFP' print(abs(df[cond1]['f1'].std()-df[cond2]['f1'].std())) [유형1-2] 결측치 제거 및 그.. 더보기
[빅데이터분석기사][작업형2] 5회 기출문제 풀이(회귀) * 퇴근후딴짓 님의 강의를 참고하였습니다. * [문제] 중고자동차 가격 예측하기 ㅇ 예측할 값(y): price ㅇ 평가 : RMSE (Root Mean Squared Error) ㅇ data : train.csv, test.csv ㅇ 제출 형식: result.csv파일을 아래와 같은 형식(수치형)으로 제출 ㅇ 답안제출 참고 : pd.read_csv('result.csv') 로 제출 코드 확인 [풀이] ## 데이터 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") ## EDA # 데이터 크기 확인 train.shape, test.shape # 샘플 확인 (시험환경에서는 display 대신 prin.. 더보기
[빅데이터분석기사][작업형1] 4회 기출문제 풀이(기초통계, 날짜) * 퇴근후딴짓 님의 강의를 참고하였습니다. * [문제1] age 컬럼의 3사분위수와 1사분위수의 차를 절대값으로 구하고, 소수점 버려서, 정수로 출력 import pandas as pd df = pd.read_csv("basic1.csv") # print(df.head(3)) # print(df.info()) a = df['age'].quantile(.75) b = df['age'].quantile(.25) print(int(abs(a-b))) * 사분위값 : df['컬럼명'].quantile(.25) * 절대값 : abs(값) * 정수형으로 출력 : int(값) [문제2] (loves반응+wows반응)/(reactions반응) 비율이 0.4보다 크고 0.5보다 작으면서, type 컬럼이 'video'인.. 더보기
[빅데이터분석기사][작업형2] 4회 기출문제 풀이 (분류, 2개 데이터set) * 퇴근후딴짓 님의 강의를 참고하였습니다. * [문제] 자동치 시장 세분화 (분류) 자동차 회사는 새로운 전략을 수립하기 위해 4개의 시장으로 세분화하였습니다. 기존 고객 분류 자료를 바탕으로 신규 고객이 어떤 분류에 속할지 예측해주세요. ㅇ 예측할 값 : "Segmentation" (1,2,3,4) ㅇ 평가 : Macro f1-score ㅇ data : train.csv, test.csv ㅇ 제출형식 : ID, 값 1. 라이브러리 및 데이터 읽어오기 # 라이브러리 불러오기 import pandas as pd # 데이터 불러오기 train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") 2. EDA # 데이터 크기 확인 train.shape, tes.. 더보기