묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 변수 삭제
실제 시험 작업형 2유형에서설명력이 낮은 변수를 삭제하거나결측치나 이상치가 있는 데이터를 준다면 결측치를 제거하거나이런것에 기준이 있을까요?제가 문제를 읽어보고 임의로 결정해서 삭제를 해야할까요 아니면 문제에 있는 모든 변수(고유한ID컬럼제외)를 포함해서 학습해야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
귀무,대립가설
대립가설과 귀무가설은 대응표본검정의 모든 문제에서 동일한 설정인가요 ?? 귀무가설: 뮤d >= 0 대립가설: 뮤d <0 2. 그리고 정규성 검정(샤피로윌크)할 때 df['diff'] = df['after'] - df['before']로 항상 계산하는건가요 ??대응표본검정은 뮤d가 before- after였는데 뮤d와 diff값은 아예 다른값이라고 생각하면 되는걸까요 ??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 작업형2 원핫인코딩
기출 8회 작업형2 내용 중원핫인코딩을 하는 부분이 있는데먼저 cols에 train의 object타입 컬럼을 담아놓고train = pd.get_dummies(train,columns=cols) test = pd.get_dummies(test,columns=cols)이런식으로 작성을 하는데,다른 영상에서는 columns=cols 이 부분을 안 넣는 것도 본 것 같아서요!저 구문의 의미와 넣었을 때와 안 넣었을 때의 차이점이 궁금합니다!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 파일 생성전 pred 순서에 오류
안녕하세요 8회 작업형 2번을 간단한 방법을 풀다가 오류가 발생했는데 도통 뭐 잘못작성한지 모르겠습니다..확인 부탁드리겠습니다! import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/8_2/churn_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/8_2/churn_test.csv") # print(train.shape, test.shape) # train.head() # train.isnull().sum() # train = train.drop('CustomerID', axis = 1) # tesT = test.drop('CustomerID', axis = 1) target = train.pop('TotalCharges') # cols = train.select_dtypes(include = 'O').columns # # print(cols) # from sklearn.preprocessing import LabelEncoder # for col in cols : # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.transform(test[col]) train = pd.get_dummies(train) test = pd.get_dummies(test) 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) # print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) # from sklearn.ensemble import RandomForestRegressor # rf = RandomForestRegressor(random_state = 0) # rf.fit(X_tr, y_tr) # pred = rf.predict(X_val) # print(pred) # 937.577739684466 import lightgbm as lgb model = lgb.LGBMRegressor(random_state = 0, verbose=-1) model.fit(X_tr,y_tr) pred = model.predict(X_val) # 946.7024808036148 from sklearn.metrics import mean_absolute_error print(mean_absolute_error(y_val, pred)) pred = model.predict(test) submit = pd.DataFrame({'pred':pred}) submit.to_csv('result.csv',index = False) # result = pd.read_csv('result.csv')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pd.to_datetime 적용시 오류 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요df['날짜']=pd.to_datetime(df['날짜']) df['연도']=df['날짜'].dt.year 으로 변환해서 짜고 싶은데, 오류가 나는 이유가 뭘까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
범주형변수 처리관련
ols사용할때 독립변수가 범주형이면C()로 감싸는데문제를풀면서 이 변수가 범주형인걸 알더라도문제에서 특정변수가 범주형이라고 주어지지않는한C()를 사용하지 않는게 낫나요? 자의로판단해서 C()를 하는건지 문제에서 주어진것만 하는지 질문드립니다. 왜냐면케글문제를 푸는데 특정변수가 범주형이라고 주어졌는데, 다른 변수도 범주형인 경우가 있었습니다https://www.kaggle.com/code/agileteam/t3-2-example-py
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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:]
-
미해결[2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
인코딩 질문!!
훈련 세트에서 보지 못한 카테고리를 테스트 세트에서 발견하여 아래와 같은 오류가 떴는데 ValueError: Found unknown categories ['XXX'] in column 1 during transform이러한 경우 test에 해당 값을 다른 값으로 대체하거나 삭제 하는게 좋을까요?시험이 얼마 안남아 궁금한게 많네요ㅜㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
encoding시 데이터 병합
범주형 변수encoding시에 무조건 train,test데이터셋 병합 - encoding - 분리 단계로 진행해도 상관없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형3
예시문제 작업형3 번에서 ① 문제 자체가 이해가 안가는데요하나씩 이해좀 시켜주실수 있으실까요? 분산에 차이가 있는지를 알아보기 위해 F-검정을 수행할때 검정통계량의 값을 구하라. var() 함수로 분산을 구한거 이해가 갔어요.근데 F-검정을 수행 할때인데 F-검정을 수행한건가요 풀이에서?? 그리고... 검정통계량을 구하라인데 var2/var1 이 왜 검정통계량이 되는건가요?? 제가 공부하기로 가설검정=t검점분산분석=F검정 으로 알고있엇는데, 문제는 독립표본검정(가설검정) 인데 F검정을 한다고 하니.... 이해가 안가요ㅠ