묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강사님 안녕하세요!
캐글 t1-38.pivot-py 질문이 있습니다. # - 1) 총가입금액 컬럼을 생성하세요. (총가입금액 = 보험상품_가입금액 + 저축상품_가입금액)df['총가입금액'] = df['보험상품_가입금액'] + df['저축상품_가입금액']# print(df.head())# - 2) 각 지점코드와 연령대별로, 성별에 따른 총가입금액 합계를 구하세요.(단 합계 결측치일 때는 0으로 대체하시오)df_pv = df.pivot_table(index=['지점코드', '연령대'], columns='성별', values='총가입금액', aggfunc='sum', fill_value=0).reset_index()# print(df_pv) # C303 50대 2 컬럼 => NaN# # # help(pd.pivot_table) # fill_value 여기서 확인 가능# - 3) 연령대가 40대 또는 50대인 경우에 한해, 성별 간 총가입금액 차이(절댓값 기준)가 가장 큰 지점코드를 구하세요. (정답은 지점코드 1개 예: B204)# print(df.head())cond40 = df['연령대'] == '40대'cond50 = df['연령대'] == '50대'df = df[cond40 | cond50]# print(df.head())df_pv2 = df.pivot_table(index=['지점코드', '연령대'], columns='성별', values='총가입금액', aggfunc = 'sum', fill_value=0).reset_index()# print(df_pv2)df_pv2['diff'] = abs(df_pv2[1] - df_pv2[2])# print(df_pv2['diff'].idxmax())cond = df_pv2['diff'].idxmax()# print(df_pv2.loc[cond]['지점코드'])# C303# - 4) 3번에서 찾은 지점과 연령대에서, 총가입금액이 더 높은 성별의 금액은 전체 고객 총가입금액의 몇 %를 차지하나요? (반올림 후 소수 셋째자리 구하기)# print(df_pv2)# print(df_pv2.loc[cond]['연령대']) # 50대# print(df.head())total = df['총가입금액'].sum()# print(total) # 150333657# print(df_pv2)cond_a = df_pv2['지점코드'] == 'C303'cond_b = df_pv2['연령대'] == '50대'df3 = df_pv2[cond_a & cond_b]# print(df3) # 12353774diff = 12353774result = diff / total * 100print(round(result, 3)) 제가 작성한 코드입니다.강사님께서 풀이로 올려주신 코드와 약간의 차이가 있지만, 결국 차이(diff)값과 total값은 똑같을텐데저는 결과값이 8.218이 출력되고있습니다.잘못 코딩한 부분 지적해주시면 감사하겠습니다!매번 감사드립니다.내일 모레 시험 잘 보고 오겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예제 작업형2 관련 질문드립니다.
아래와 같이 코드를 작성했는데, rmse값이 선생님께서 푸신거랑 다르게 너무 작게 나와서 질문드려요. 제가 봤을 땐 선생님이 작성하신 코드랑 똑같이 한 것 같은데.. 어떤 부분에서 달라진 건가요? 제가 어디서 실수한지 모르겠습니다 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") pd.set_option('display.max_columns',None) pd.set_option('display.float_format','{:.10f}'.format) # 총구매액 예측 -> 회귀. RandomForestRegressor & predict # root_mean_squared_error # csv파일명 : result.csv / 타겟 칼럼명 : pred (2482개!) # EDA # 데이터전처리 # 환불금액 결측치 0으로 처리 train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) # 레이블 인코딩 from sklearn.preprocessing import LabelEncoder lb = LabelEncoder() cols = train.select_dtypes(include = 'O').columns for col in cols: train[col] = lb.fit_transform(train[col]) test[col] = lb.transform(test[col]) target = train.pop('총구매액') # 데이터분할 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 0) # 모델학습 및 평가 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state = 0, n_estimators = 400) rf.fit(X_tr,y_tr) pred = rf.predict(X_val) from sklearn.metrics import root_mean_squared_error print(root_mean_squared_error(y_val, pred)) # 베이스라인 : 808.1092610336881 # n_estimators = 400 : 793.0646436460113 # 결과 계산 및 제출 pred = rf.predict(test) result = pd.DataFrame({'pred': pred}) result.to_csv('result.csv', index = False) submit = pd.read_csv('result.csv') print(submit)
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 제1유형 문제 풀이 답안
작업형 제1유형은 문제 풀이 화면(python) 출력에서도 답안에 제출할 숫자만 출력이 되어야 하는건지 궁금합니다. 작업형 제1유형은 문제 풀이 화면(python)에서 문제를 푼 후, 답안 제출 화면에서 답을 입력하고 제출한다고 되어 있는데, 문제 풀이 화면(python) 속 출력 값도 채점에 포함되는지 여쭤보고 싶습니다. 섹션 16. 67. 6회 기출문제(작업형3) 강의 중 3분 49초 쯤에 작업형3은 작업형1과 달리 출력을 답안에 맞게 할 필요가 없다는 말씀을 하셨는데 작업형 제1유형은 python 출력에서도 답안에 제출할 숫자만 출력이 되어야 하는건지 혼란스러워 질문합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형3 (ver.2025)의 결과값이 다르게 나옵니다.
예시문제 작업형3 (ver.2025)의 두번째 문제를 풀었는데, 저는 답이 0.442 가 나오는데요.. 이건 정답이 있는거라 다르면 안되는거잖아요..ㅜㅜ 정말 똑같이 했는데.. 뭐가 문제일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 작업형1 t1-39 2번 문제 질의
아래와 같이 처리할 경우 결측치가 모두 채워지지 않고, 결과값이 60.0으로 산출됩니다.혹시 cond에 따른 df[cond].groupby.transform을 바로 result로 받으면 안되는 이유가 있을까요? cond = df['총 학습 시간'] >= 500 result = df[cond].groupby(['학습 카테고리'])['완강률'].transform('mean') #print(df['완강률'].isnull().sum()) == 6 df['완강률'] = df['완강률'].fillna(result) #print(df['완강률'].isnull().sum()) == 2 df[df['학습 카테고리'] == '디자인']['완강률'].mean().round(1)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(ver.2025) rmse 문의드립니다
rmse는 sklearn에서 지원하지 않아 mse를 구한다음 따로 다시 구해야되는 걸로 알고 있는데요,해당 강의 영상을 보면 from sklearn.metrics import root_mean_squared_error 로 바로 사용하고, root_mean_squared_error(y_val,pred)로 사용하셔서요. 만약 문제에서 rmse 문제가 나오면 이 코드를 그대로 써도 되는 건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
체험환경에서 데이터.csv
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요체험환경에서 데이터.csv 클릭하면 데이터 보이던데, 시험장에서 이렇게 확인해도 되는건가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 답안제출 관련 질문
작업형2 제출 할 때 답안 확인 차 코딩했던 pd.read_csv("result.csv")요 부분까지 냅둔채로 제출해도 상관없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
np.log(), np.log1p() 차이
안녕하세요, 예시문제 제3유형 1번문제를 푸는데 로그 함수 사용법에 궁금점이 생겨서 질문드립니다. 로그 변환할 때 np.log()와 np.log1p() 이렇게 배웠던 것 같은데,이 문제 풀 때는 np.log()를 사용하셔서요.두 개중에 어떤걸 사용하는지 기준이 있을까요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출 유형(작업형2) 풀이인데 이렇게 해도 될까요?
# 데이터 불러오기 import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/5_2/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/5_2/test.csv") ytrain = train.pop('price') cols = ['model','transmission','fuelType'] # train = pd.get_dummies(train) # test = pd.get_dummies(test) from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() train[col]= le.fit_transform(train[col]) test[col]= le.fit_transform(test[col]) from sklearn.model_selection import train_test_split x_tr,x_val,y_tr,y_val = train_test_split(train, ytrain,test_size=0.2,random_state=2022 ) # from sklearn.ensemble import RandomForestRegressor # rf = RandomForestRegressor(random_state = 2022) # rf.fit(x_tr,y_tr) # y_pred = rf.predict(x_val) import lightgbm as lgb model = lgb.LGBMRegressor(randomstate=0,verbose=-1) model.fit(x_tr,y_tr) y_pred = model.predict(x_val) from sklearn.metrics import root_mean_squared_error result = root_mean_squared_error(y_val,y_pred) submit = pd.DataFrame(y_pred) submit.to_csv('오지욱.csv',index=False) # pd.read_csv('오지욱.csv') # 1324.4944863328471 원핫 랜덤포레스트 # 1320.1181960644112 레이블 랜덤포레스트 # 1271.4972710398029 레이블 lgb -> 선택 # 1282.70065302789 원핫 lgb작업형 2에서 더 어렵게 나오면 그냥 다시 시험친다는 각오로 원핫,레이블 -> 랜포,lgb 경우의 수 4가지 구한뒤 제일 좋은 수치를 가진 모델로 작업해서 제출하고자 합니다. 지금까지로 봐왔을땐 작업형 2는 이정도로만 해도 충분 하겠죠?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 기출 1유형 질문_iloc
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요8회 기출유형(작업형1) 문제풀이 과정 문의드립니다 방문객합계를 구할때 컬럼끼리 더하는 것 말고아래와 같이 진행은 불가한걸까요?아래처럼 작성하면 오류가 떠서요ㅜ df['방문객 합계']=df.iloc[:,1:]
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
encoding시 데이터 병합
범주형 변수encoding시에 무조건 train,test데이터셋 병합 - encoding - 분리 단계로 진행해도 상관없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형3
예시문제 작업형3 번에서 ① 문제 자체가 이해가 안가는데요하나씩 이해좀 시켜주실수 있으실까요? 분산에 차이가 있는지를 알아보기 위해 F-검정을 수행할때 검정통계량의 값을 구하라. var() 함수로 분산을 구한거 이해가 갔어요.근데 F-검정을 수행 할때인데 F-검정을 수행한건가요 풀이에서?? 그리고... 검정통계량을 구하라인데 var2/var1 이 왜 검정통계량이 되는건가요?? 제가 공부하기로 가설검정=t검점분산분석=F검정 으로 알고있엇는데, 문제는 독립표본검정(가설검정) 인데 F검정을 한다고 하니.... 이해가 안가요ㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Label encoding 시 col 기준
2025 예제 관련해서 작업형 2 에서 label encoding 할 시에 cols 에 데이터를 집어 넣을때 데이터 구분 기준을 잘 모르겠습니다. col 에 다른 인자를 넣게 되면 분명 계산이 잘 안 이루어 지는데 이 계산 인자를 어떤 식으로 구분해서 시험환경에서 적을 수 있을지가 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
t1-37.purchase-py 소수점 절사
강사님 안녕하세요 새로운 올리신 t1-37.purchase-py 문제2에 관련해서 질문남깁니다.혹시 소수점 절사라고 해서 프리미엄 = df[(df['세그먼트'] =='프리미엄') & (df['카테고리'] =='생활용품')]['구매금액'].mean() 일반 = df[(df['세그먼트'] =='일반') & (df['카테고리'] =='생활용품')]['구매금액'].mean() print(int(프리미엄 - 일반))바로 int()로 했는데 7729가 나와서 혹시 소수점 절사라는 조건 나오면 강사님처럼 int(round())해야하는거죠? 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2유형 검증데이터분리
작업형 2유형중 검증데이터를 분할할때 기출7을 보면 전체 데이터사이즈는 1000개이고 train = 700 , test = 300입니다 여기서 train_test_split의 test_size를 0.2로한다면 실제 모델이 학습하는 데이터는 560개로 학습하기에는 너무작다고 느껴지고 편향이 있을수 있는데이렇게 문제에서 제시하는 데이터사이즈가 작더라도 train_test_split을 사용해도 될까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 연장(6/18->6/21) 문의드립니다.
선생님 안녕하세요.먼저 좋은 강의 제공해 주셔서 너무 감사드립니다.이번 주 6/21 시험인데, 마침 강의 마감이 오늘 6/18 까지라서 혹시 시험일까지만 강의 연장해 주실 수 있을지 여쭙고자 문의드리게 되었습니다.시험 전 다른 문의들로 바쁘실 텐데 번거롭게 해 드리게 되어 너무 죄송합니다. 문의드릴 때 메일 주소가 필요한 것 같아서 함께 전달드립니다. (ellina0413@gmail.com)확인 부탁드립니다. 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 기출유형(작업형3) 2-2 문제 질문드립니다
전 아래 코드처럼 작성했는데 정답과 다르게 나오더라구요 어느 부분 때문에 다른 건지 알려주실 수 있을까요?df['CPU'] = df['CPU'] < 100 from statsmodels.formula.api import ols model = ols('ERP ~ Feature1 + Feature2 + Feature3 + CPU',data = df).fit() print(model.summary())
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rmse 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요rmse를 사이킥런에서 지원하지 않아서, mse로 만들어줘야하는 걸로 알고있는데, 그냥 아래처럼 써도 값은 출력되더라고요. 혹시 이유 알수있을까요? from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0) rf.fit(X_tr,y_tr) pred=rf.predict(X_val) root_mean_squared_error(y_val,pred)이렇게 쓰면안되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅분기 실기체험환경 Warning
2025 예시문제 작업형 2번 풀었습니다.다른건 괜찮은데xgboost 코드 실행시 warning이 뜨네요.아마 version 관련이라 실제 시험환경에서 크게 점수에 좌우되는 부분 아닌 것 같은데 아시는 분 확인 부탁드립니다.