묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
110강 회귀_8번 문의
mse구할때 model.mse_resid와 값이 다른데 뭐가 맞나요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
XGBRegressor 학습 시 warning 출력
안녕하세요, XGBRegressor 학습 시 나타나는 warning으로 실제 오류와 자주 헷갈려서, import warningswarnings.filterwarnings('ignore') 실행 후 코드를 계속 실행해도 괜찮을 지 여쭤보고자 문의 드립니다. 좋은 강의 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 프레임을 변경해도 되나요?
'views' 컬럼의 1사분위수, 3사분위수 그리고 IQR을 계산하시오.이상치 조건에 맞는 데이터를 찾으시오. (이상치는 1사분위수 – (IQR 1.5)보다 작은 값과 3사분위수 + (IQR 1.5)보다 큰 값)이상치 데이터의 'views' 컬럼 합을 정수로 구하시오. 문제를 푸는데 1사분위수와 3사분위수를 새로운 df['1qr'] df['3qr''] 이라는 컬럼을 생성해서 저장하고싶은데 시험 점수에는 영향이없나요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
10회 기출 작업형3 문제 2-1 질문
안녕하세요. 해당 문제를 아래와 같이 풀었는데 저는 계속 0.253이 나오는데 정답이 0.254여서 제가 어떤 부분에서 틀렸는지 알고 싶습니다. 감사합니다. [출력결과] OLS Regression Results ============================================================================== Dep. Variable: heating_load R-squared: 0.754 Model: OLS Adj. R-squared: 0.752 Method: Least Squares F-statistic: 417.8 Date: Tue, 16 Jun 2026 Prob (F-statistic): 2.02e-164 Time: 12:24:27 Log-Likelihood: -1772.0 No. Observations: 550 AIC: 3554. Df Residuals: 545 BIC: 3576. Df Model: 4 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 38.3821 1.504 25.517 0.000 35.427 41.337 wall 0.0304 0.030 1.012 0.312 -0.029 0.090 roof 0.2483 0.006 39.564 0.000 0.236 0.261 glazing 0.2217 0.023 9.693 0.000 0.177 0.267 height -0.2469 0.077 -3.212 0.001 -0.398 -0.096 ============================================================================== Omnibus: 0.698 Durbin-Watson: 1.896 Prob(Omnibus): 0.705 Jarque-Bera (JB): 0.785 Skew: -0.077 Prob(JB): 0.675 Kurtosis: 2.899 Cond. No. 805. ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. 0.25349999999999995 [코드]# 1) 데이터 불러오기 df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/10_3/heating.csv") # 모든 독립변수를 포함한 회귀모형을 적합하시오. 다중 선형 회귀 분석 from statsmodels.formula.api import ols model = ols("heating_load ~ wall + roof + glazing + height", data = df).fit() print(model.summary()) # 이때 절편을 제외한 회귀계수의 합을 구하시오. print(0.0304+ 0.2483+ 0.2217+ ( -0.2469) ) # 0.253
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 질문
작업형2를 할때 원-핫 인코딩이나 레이블인토딩을 진행해서 더 성능이 좋은 모델을 쓰고 있는데 강의에서 불균형일때 원-핫인코딩처럼 합쳣다가 푸는 방식으로 추천해주셨는데 레이블도 합쳤다가 푸는형식으로 해도 상관이 없는지? 와 안전하게 그냥 둘다 합쳐서 인코딩하는 방식으로 해도 상관없는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 템플릿 확인 요청
안녕하세요전체적으로 이런 식으로 작업형 2를 풀어왔는데,시험 전 마지막으로 올바른 코드인지 점검 부탁 드리고 싶습니다.EDA -> target값 분리 -> 스케일링 -> 인코딩 -> 데이터 분리 -> 머신러닝 -> 평가 -> 테스트 예측 순서로 풀어왔는데,AI한테 질문하니카테고리가 안맞아 train, test를 불가피하게 합쳐서 풀어야 할 땐, 인코딩을 먼저 하라는 말에 혼란스러워 질문 드립니다.import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") # 평가: RMSE (회귀) # target: 총구매액 (2482개의 행) # 결측값: 환불금액 # object 컬럼: 주구매상품, 주구매지점 (2개) / num 컬럼: 그외 (7+1개) pd.set_option('display.max_columns', None) print(train.shape, test.shape) # print(train.info()) # print(test.info()) # print(train.head()) # print(test.head()) # print(train.describe(include ='O')) # print(test.describe(include = 'O')) # 카테고리 확인 (주구매 불일치 -> 합쳐서 인코딩) o_cols = train.select_dtypes(include = 'O').columns # for col in o_cols: # if (set(train[col]) == set(test[col])): # print(col, '카테고리 일치') # else: # print(col, '카테고리 불일치') # 결측치 채우기 train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) # print(train.isnull().sum().sum()) # print(test.isnull().sum().sum()) # id, target 분리 train_id = train.pop('회원ID') test_id = test.pop('회원ID') target = train.pop('총구매액') print(train.shape, test.shape) print(target.describe()) # 스케일링 n_cols = train.select_dtypes(exclude = 'O').columns # print(n_cols) # print(train.head()) from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() train[n_cols] = scaler.fit_transform(train[n_cols]) test[n_cols] = scaler.transform(test[n_cols]) # print(train.head()) # 인코딩 # 데이터 합치기 combined = pd.concat([train, test]) # 원핫 # combined = pd.get_dummies(combined) # train = combined[:len(train)] # test = combined[len(train):] # print(train.shape, test.shape) # 라벨인코더 from sklearn.preprocessing import LabelEncoder o_cols = train.select_dtypes(include = 'O').columns for col in o_cols: le = LabelEncoder() combined[col] = le.fit_transform(combined[col]) train = combined[:len(train)] test = combined[len(train):] print(train.shape, test.shape) # 데이터 분리 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) # lightgbm import lightgbm as lgb model = lgb.LGBMRegressor(random_state = 0, verbose = -1) model.fit(X_tr, y_tr) pred = model.predict(X_val) # 평가 from sklearn.metrics import root_mean_squared_error rmse = root_mean_squared_error(y_val, pred) print(rmse) # 813.2017203251257 (원핫, 랜포) # 808.845167469651 (라벨, 랜포) # 779.7626410741833 (라벨, lgb) - 채택 # 779.7626410741833 (원핫, lgb) # 테스트 예측 (전체 train으로 학습) model.fit(train, target) pred = model.predict(test) submit = pd.DataFrame({'pred': pred}) submit.to_csv('result.csv', index = False) print(pd.read_csv('result.csv').head()) print(pd.read_csv('result.csv').shape)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 인코딩 질문
안녕하세요 현재 작업형 2 문제 풀이 중 인코딩을 하는 경우 아래와 같이 코드를 작성하고 있습니다 import pandas as pd train= pd.read_csv('/content/churn_train.csv') test= pd.read_csv('/content/churn_test.csv') #(4116, 19) (1764, 18) target= train.pop('TotalCharges') #1. 인코딩 df= pd.concat([train, test]) df1= pd.get_dummies(df) train= df1.iloc[:len(train)].copy() test= df1.iloc[len(train):].copy() 인코딩 후 train, test로 나누는 과정에서 미리 train의 길이를 지정하고 그 변수를 넣는 것이 맞는 걸까요? 아니면 기존의 방식 (위) 처럼 해도 무관한지 궁금합니다 import pandas as pd train= pd.read_csv('/content/churn_train.csv') test= pd.read_csv('/content/churn_test.csv') #(4116, 19) (1764, 18) target= train.pop('TotalCharges') train_len= len(train) #1. 인코딩 df= pd.concat([train, test]) df1= pd.get_dummies(df) train= df1.iloc[:train_len].copy() test= df1.iloc[train_len:].copy()
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 3 벼락치기 공부방법 질문
안녕하세요. 원래는 작업형3을 아예 버리려고 했는데 남은 시간동안 작업형3을 조금이라도 공부하려고 하는데 어떻게 해야될지 모르겠어서 질문글 남깁니다.우선 빅이시 영상에서 소개하는 summary 확인하는 방법은 숙지해두었는데, 그외에 직접 검정을 하거나, 기초통계에 대한 지식은 거의 없는 상황입니다. 현재 상황에서 어떤걸 하는게 가장 좋은 전략일까요? 기출에 나온 작업형 3 관련 개념들이라도 숙지하고 시험장 들어가는게 현재로선 최선일까요? 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 11회 작업형 2_전체 데이터 학습 여부
영상 13:40 지점에서 데이터의 크기가 작으면 train, validation 데이터를 분리 시키지 않고 train 데이터 전체로 모델 학습시키라고 알려주셨는데, train 데이터의 크기가 어느정도 될때 이 방법을 사용하면 좋은지 기준이 있나요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예측값 결과 소수점 차이
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요 선생님.연습문제 연습하고 있는데요 작업형2에서선생님의 코드예시로 작성한 파일이랑 제가 만든 파일이랑 확률값의 소수점차이가 나는 이유는 무엇일까요?.. (사진첨부)혹시 시험에는 무관한건지 여쭤봅니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
작업형1, 2, 3 강의는 모두 수강했고, 현재 기출문제 11회와 10회는 풀었습니다.이후에 기출문제 9회, 8회 ~ 등을 풀며 준비하는 것이 나을까요? 아니면 실전챌린지 연습문제를 먼저 푸는게 나을까요? 아니면 이번에 새로 공유해주신 코딩팡 환경의 모의문제를 풀까요?시간이 있으면 모두 풀어보려고 하지만 무엇부터 시작해야할지 조언을 듣고자 질문드립니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리 train() test([ ])
train = train.drop('customerID', axis=1) test = test.drop(['customerID'], axis=1)테스트는 대괄호가 들어가야 하는건가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1 배경지식 질문
안녕하세요. 11회 기출부터 역순으로 순차적으로 풀어보고 있는데 8회만 해도 MIN MAX 스케일링의 수식을 문제에서 제공하고 있는 반면, 7회 기출은 갑자기 스탠다드 스케일링의 수식을 제공하지 않고, 상관계수를 구할 때 절댓값을 취해야한다는 점도 알려주지 않고있습니다.사실 스탠다드 스케일링은 고등학교에서도 나오니까 std()함수를 썼는데 이게 또 스탠다스 스케일링을 하고싶을 땐 std()안에 ddof라는 옵션을 0으로 설정해야한다고 하네요.. 빅분기가 시행된지 얼마 안된 시험이어서 이때만 시험 문제가 이렇게 나온거고, 요즘 시험은 그냥 10회, 11회랑 비슷하게 나온다고 받아들이면 되는 것일까요, 아님 이 정도의 배경지식은 작업형 1에서 실제로 필요한게 맞는걸까요? 통계쪽 배경지식은 작업형 3에서만 필요하다고 생각했는데 당황스러워 질문 남깁니다.. 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
옳게 풀은건지 질문드립니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요! 2작업형의 대부분 문제를#기본 전처리 cols = ['Gender','Ever_Married','Graduated','Profession','Spending_Score','Var_1'] train = train.drop('ID',axis=1) test_id = test.pop('ID') #레이블 인코딩 df = pd.concat([train,test]) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in cols: df[col] = le.fit_transform(df[col]) train = df.iloc[:len(train)].copy() test = df.iloc[len(train):].copy() test = test.drop('Segmentation',axis=1) #원핫 인코딩 df = pd.concat([train,test]) df = pd.get_dummies(df,columns=cols) train = df.iloc[:len(train)].copy() test = df.iloc[len(train):].copy() test = test.drop('Segmentation',axis=1) #데이터나누기 from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split( train.drop('Segmentation',axis=1),train['Segmentation'],test_size=0.2,random_state=2022 ) #랜포 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2022) rf.fit(X_tr,y_tr) pred = rf.predict(X_val) # #xgb from xgboost import XGBClassifier xgb = XGBClassifier(random_state=2022) xgb.fit(X_tr,y_tr) pred = xgb.predict(X_val) #lgbm from lightgbm import LGBMClassifier lgb = LGBMClassifier(random_state=2022) lgb.fit(X_tr,y_tr) pred = lgb.predict(X_val) #평가 from sklearn.metrics import f1_score print('f1: ',f1_score(y_val,pred,average='macro')) pred = lgb.predict(test) result = pd.DataFrame ({ 'ID' : test_id, 'Segmentation':pred.astype(int) }).to_csv('result.csv',index=False) diff = pd.read_csv('result.csv') diff 위 템플릿을 활용하여 레이블 인코딩과 원핫인코딩 / 모델은 랜덤포레스트,xgb,lgbm까지 총 6가지 버전을 비교해 풀고 있는데, 이대로 풀어도 되는지 여쭤보고싶습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
roc_auc_score
from sklearn.metrics import roc_auc_scoreroc_auc = roc_auc_score(y_val, pred[:, 1])print('roc_auc: ', roc_auc) 11:19 즈음에 나오는 해당 코드에 궁금한 점이 있어 질문 드립니다. roc_auc_score() 메서드에 전달할 두 번째 아규먼트는 양성(positive)에 대응하는 클래스일 확률 리스트를 전달하는 것으로 알고 있습니다. 그런데 roc_auc_score() 메서드의 첫 번째 아규먼트에 전달하려는 값(y_val)이 0 또는 1로 이루어지지 않고 지금과 같이 '<=50K' 또는 '>50K'와 같은 문자열로 이루어진 리스트라면 roc_auc_score() 메서드 입장에서 도대체 어떻게 '<=50K'가 양성인지 '>50K'가 양성인지 판단할 수 있는 것인지 궁금합니다. 다른 수강생의 질문에서 print(rf.classes_)를 통해 보여지는 리스트의 인덱스 번호로 0이면 양성 X, 1이면 양성으로 판단한다라고 본 것 같은데, 해당 정보를 알고 있는 것(해당 정보를 저장한 주체)은 rf, 즉 랜덤포레스트 모델 객체 아닌가요? roc_auc_score() 입장에서는 rf.classes_ 속성에 직접 접근하지 않는 한, 해당 정보를 알지 못할 것 같은데 어떻게 '>50K'를 양성으로 판단하는지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
추가질문 합니다
from sklearn.metrics import f1_scorescore = f1_score(y_test, pred, average='macro’)print(score) 이렇게 작성하고 프린트를 적거나 주석처리하거나 다 괜찮다는 말씀이죠
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험환경 구름
시험장 환경 체험에서 궁금한게 있습니다.여기서 테스트는 뭐하는 기능인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 질문드려요
from sklearn.metrics import root_mean_squared_error print(root_mean_squared_error(y_val, pred))저는 rmse = ~~~~ 이런식으로 제출했느데요 저렇게 print 이렇게 해서 제출해야하나요?? 프린트 저런거 적으면 감점이라고 한거같아서요 알려주세요 한가지더는 겟더미도(검열할꺼 없어도 겟더미코드 적어놓으면 그것도 감점인가요) 불안해서 걍 코드 쭉 적어놓을려고 하는데 ㅠ 이것도 일려주세요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForest vs lgb
작업형 2유형 연습문제를 풀면서 랜덤포레스트와 LGBM 모델을 둘 다 적용해 보고 있는데, 대부분의 경우 LGBM의 성능이 더 좋게 나옵니다.혹시 실제 시험에서도 LGBM을 주력 모델로 사용해도 괜찮을까요? 아니면 데이터에 따라 랜덤포레스트가 더 유리한 경우도 있어서 두 모델을 모두 비교해 보는 것이 좋을까요?시험장에서 모델 선택 시 어떤 기준으로 판단하면 좋을지 궁금합니다. 감사합니다! 😊
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
전처리 관련질문
이번 회차 같은경우에는 고객 id를 drop 하였는데 학습하는데 있어서 방해가 되는 요소이기때문에 drop하는건 알겠습니다만. 이 또한 언제는 하고 언제는 안하셨는데 기준이 뭔지 모르겠습니다.