묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 7회 작업형 1-3
안녕하세요. 질문이 있습니다.기출 7회 작업형 1-3 문제에서 저는 강사님처럼 gender 컬럼을 pop하지 않고 그냥 바로 test 데이터를 넣어 예측하였습니다. 강사님이랑 결과는 동일하게 나오는데 혹시 gender 컬럼을 꼭 분리해야 할까요? 사실 test 안에는 weight 말고도 다른 독립변수들이 같이 있잖아요.근데 모델이 독립변수로 weight을 사용하여 종속변수 gender를 예측하는 모델이니까자동으로 test 안의 weight 변수만 사용한다고 생각하고 있는데 틀린 생각인가요? from statsmodels.formula.api import logit # 1) 로지스틱 회귀모델 적합 model = logit('gender ~ weight', data = train).fit() # 2) test 데이터의 gender 예측 (남자로 분류되는 기준을 0.5로 임의 설정) pred = model.predict(test) > 0.5 # print(sum(pred)) # 3) error rate 구하기 from sklearn.metrics import accuracy_score acc = accuracy_score(test['gender'], pred) er = 1 - acc print(round(er, 3)) # 0.478
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2과목 점수 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요공부 시간이 많아서 2과목을 강의대로 하면 좋겠지만 시간이 없어서1.데이터 전처리(결측치 제거 정도)2.인코딩(데이터 별로 없을 시 원핫 or 많을 때 레이블인코딩)3.랜덤포레스트 학습 이렇게 제출 했을 경우 보통 몇점 정도 나오는지 혹시 수강생들 후기가 있으신가요..?30점 정도만 나와도 다행일 것 같긴합니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 기출, 작업형3 문제 1-2 와 2-2 비교
문제 1-2 에서는 소수 둘째짜리까지 구하라고 하여함수 llf 를 구해서 소주 셋째짜리까지 구한 후, 반올림했는데 문제 2-2에서는 셋째짜리까지 구하라고 했으니, 넷째짜리까지 보고서 답을 적어야 하는데선생님은 summary() 표에서 나오는 결정계수(소수 셋째짜리) 로 우선 답을 적으셨는데요.(이후에 rsquared 함수로 더 많이 소수자리를 보긴했지만) 문제 2-2에서 결정계수 값이 0.226 인데, 만약 0.2253 이였으면 반올했을때 0.225 가 되잖아요..? 그럼 틀린건가요? 선생님 풀이를 보면 1-2와 2-2의 차이가 분명히 있는데, 1-2 문제에서는 구하라고 하는 소수자리보다 더 많이 구한후 답을 적엇고, 문제 2-2에서는 그냥 표에있는 값으로 답을 적었는데요.. 한가지 방법으로 정리가 필요할듯 합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
잔차 이탈도 계산
선생님은 잔차이탈도 계산은 함수를 써서로그 우드 값을 추출 후 곱하기 -2를 해서 = 286.93267518507366 여기서 반올림해서 286.93이 되고 저는 summary() 로 알게된 로그우드 값에 곱하기 -2를 해서 = 286.94이 됩니다. 이럴경우 제가 한 답을 작성시 틀리게 되는건가요? summary 에서 -143.47 이렇게 애초에 소수 둘째짜리 까지만 나타내줫는데.. 틀리면 억울할거같은데 답변 부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 제출
안녕하세요.2유형 답안 제출할 때 위에서 EDA 를 print해서 본거랑, 안 쓸 머신러닝들 문장은 주석 처리해서 답안 제출해야 되나요??아니면 print있어도 상관없나요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1-2 행별합 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요풀이 코드에는print(a.sum(axis=1))이렇게 작성이 되어있는데print(a.T.sum())이렇게 해도 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
구름환경 2유형
안녕하세요 퇴근후딴짓님크게 다르게 하지 않은것 같은데 저는 랜덤포레스트 #821.0553076611657 이렇게 나왔는데 퇴근후딴짓님은 83636125.어쩌고 엄청 큰 숫자잖아요..제 코드에 어떤 문제가 있나요??ㅠㅠ #데이터전처리target = train.pop('총구매액')train['환불금액']=train['환불금액'].fillna(0)test['환불금액']=train['환불금액'].fillna(0)train = train.drop('주구매상품', axis=1)test = test.drop('주구매상품', axis=1)train = pd.get_dummies(train)test= pd.get_dummies(test)#분할from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train target, test_size=0.2, random_state=0)X_tr.shape, X_val.shape, y_tr.shape, y_val.shape #머신러닝from sklearn.metrics import mean_squared_errordef rmse(y_true, y_pred): return mean_squared_error(y_true, y_pred)**0.5from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0)rf.fit(X_tr, y_tr)pred = rf.predict(X_val)print(rmse(y_val, pred)) #821.0553076611657 pred = rf.predict(test)result = pd.DataFrame({ 'pred':pred})result.to_csv("result.csv", index=False)print(pd.read_csv("result.csv"))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2, 모의고사1, lightgbm
마지막 팁 부분을 먼저 보고 기출 연습을 하고 있는데요, lightgbm을 하는 경우 object 자료형을 category 자료형으로 바꿔주면 인코딩을 따로 할 필요가 없다고 하여 이 방법으로 연습을 진행하고 있습니다. 또, 성능평가를 구하지 않아도 감점되지 않는다고 하여 오류가 나지 않은 한 인코딩과 성능평가 없이 lightgbm으로 푸는 방법으로 연습 중인데, 아래 코드가 제가 작성한 코드입니다. 오류가 나지 않지만, 제출 파일의 내용을 확인한 결과 강사님의 최종 결과와 차이가 있었습니다. (Attrition_Flag 값의 차이)뭐가 잘 못된 건가요...?import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ceredit%20card/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") # #문제 정의 # 평가: ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall)을 구하시오 # target : Attrition_Flag (1:이탈, 0:유지) # csv파일 생성 : 수험번호.csv # ROC-AUC -> 분류 # eda # print(train.shape, test.shape) # (8101, 21) (2026, 20) # print(train.info()) # print(test.info()) # print(test.head()) # object -> category cols = train.select_dtypes(include='object') for col in cols: train[col] = train[col].astype('category') test[col] = test[col].astype('category') # 검증 데이터 분리 y_train = train.pop('Attrition_Flag') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train, test_size=0.2, random_state=0) # lightgbm 학습 및 예측 import lightgbm as lgb model = lgb.LGBMClassifier(random_state=0, verbose=-1) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val) # print(model.classes_) # target : Attrition_Flag (1:이탈, 0:유지) # 결과: [0 1] -> 유지 이탈 (이 순서임) # 성능 평가 # test 예측 및 제출 pred = model.predict_proba(test) # print(pred.shape) # print(test.shape) # print(pred) submit = pd.DataFrame( {'CLIENTNUM':test['CLIENTNUM'], 'Attrition_Flag':pred[:,1]}) submit.to_csv('수험번호.csv', index=False) # 제출 파일 확인 # print(pd.read_csv('수험번호.csv').shape) # (2026, 1) -> test.shape(2026, 20)위 사진은 제 코드를 실행하여 만든 csv파일의 내용입니다.다음 사진은 강사님 코드의 실행 결과입니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
XGBoost import
XGBoost를 불러올때 어떤게 맞나요? from xgboost import XGBClassifierImport xgboost as xgb
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형3 (ver.2025)
예시문제 작업형3 소물음 1번을 풀때 분산을 var1 = df[cond1]['Resistin'].var() var2 = df[cond2]['Resistin'].var() 으로 구했는데, 소물음 2번 합동분산추정량을 구할때는 자유도를 n-1로 설정하였습니다. 그렇다면 소물음 1번에 var(ddof=1)를 샘플수에서 1을 뺀 자유도로 구해야하는 것이 아닌지요? (두 집단이 모집단에 대한 표본이라면 표본분산으로 접근해야하지 않는가 라는 의문이 생겨서 질문드립니다) 만약 표본분산이 아니라, 모집단 분산으로 접근한다면 합동분산추정량은 (n-1)이 아닌 n으로 가중평균해야하는게 아닌지요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
9회 기출유형(작업형3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요train 데이터에서 design 예측을 스피어만 으로 예측하라고 하면 어떻게 해야 할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형2 관련 질문입니다
기출에서는 train, test 모두에 결측치가 없었는데요 혹시 결측치가 있는 데이터가 주어지면 어떻게 해야하는지 궁금합니다. 아래 케이스별로 궁금하고 object 결측치인지 수치형 결측치인지에 따라서도 다르게 해야 할까요? train 에만 결측치가 있는 경우 test 에만 결측치가 있는 경우 train/test 모두에 결측치가 있는 경우
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
New_data의 ols & predict
new_data를 생성하고 ols 모델로 predict하려고 할 때, 다음 두 가지 중에 아무거나 써도 되나요?model.get_prediction(new_data)model.predict(new_data)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test predict이 먹히지 않습니다.
# 최종 제출 파일 (lightGBM) pred = lg.predict(test) submit=pd.DataFrame({'pred':pred}) submit.to_csv("result.csv",index=False) 아래처럼 feature가 맞지 않아서 에러가뜹니다. 강의 그대로 했는데 왜그러는 걸까요?? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /tmp/ipython-input-50-2529582812.py in <cell line: 0>() 1 # 최종 제출 파일 (lightGBM) ----> 2 pred = lg.predict(test) 3 submit=pd.DataFrame({'pred':pred}) 4 submit.to_csv("result.csv",index=False) 2 frames /usr/local/lib/python3.11/dist-packages/lightgbm/sklearn.py in predict(self, X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, validate_features, **kwargs) 1008 n_features = X.shape[1] 1009 if self._n_features != n_features: -> 1010 raise ValueError( 1011 "Number of features of the model must " 1012 f"match the input. Model n_features_ is {self._n_features} and " ValueError: Number of features of the model must match the input. Model n_features_ is 28 and input n_features is 8
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형 3 핵심만 듣고 가야될것같은데..추천해주세요...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 문제3
‘age’ 컬럼의 이상치를 설정하는 과정에서왜 & 가 아니고 | 을 사용하는 건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 데이터 전처리 방법
작업형2에서 데이터 전처리할 때라벨인코딩or원핫인코딩 후 랜포 or lightGBM만 준비해서 가려고 하고 기출 계속 돌려보고 있는데아직 어떤 경우에 라벨인코딩이 적합하고, 원핫인코딩이 적합한지 구분이 안됩니다1)어떤 데이터들일때 어떤 인코딩이 적합한건지 궁금합니다!(+현재는 오브젝트타입 라벨인코딩해서 모델 학습한거랑 원핫인코딩해서 모델 학습한거랑 각각 비교해보고 수치 더 좋은걸로 선택했었습니다..!)2)그리고 항상 데이터 전처리(라벨or원핫인코딩) 전에 target 컬럼 먼저 train에서 복사해서 옮겨놓고 그 후에 데이터전처리를 하는게 맞는걸까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨 인코딩에서 set 반드시 비교해야 하나요?
시험 환경 작업형2 문제에서 라벨 인코딩을 하기 전에, set을 통해서 train과 test의 unique를 확인하보고 "train이 test를 포함하기 때문에 합칠 필요가 없다"고 말씀을 하셨는데요.혹시 시험을 볼 때 그것까지 미처 확인해보지 못하고 그냥 다음과 같이 진행을 했을 때 문제가 생길까요..?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])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 랜덤스테이트 조정 관련 문의드립니다.
안녕하세요2유형 랜덤스테이트 조정 관련 문의드립니다.2025 제2유형 조정중random_state=100으로 했을때(697.4336570027904)0으로 했을때(819.4568839902439) 같은모델에 다른거 조정한거 하나없이 train_test_split과 랜덤포레스트의random_state만 조정한것으로저렇게 RMSE가 차이나는데어떤게 최적인건가요? random_state조정으로 저정도 차이나는거에 어떻게 수치를 조정하는게 가장 좋은지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 질문있습니다.
실제 시험을 볼때는 뭔가 정신이 없을거같아서train과 test의 unique값 차이 여부 생각하지 않고그냥 무조건 train과 test를 concat으로 합치고 레이블 인코딩 진행한 후 train과 test를 분리하고자 하는데이렇게 진행해도 괜찮을까요?데이터 누수(?), 과적합가능성 있다고 들어서 질문드립니다.