묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치 처리
'reviews_per_month' 컬럼을 삭제하는 방법으로 해도 상관이 있을까요 ??어떤 컬럼은 삭제하고 어떤 컬럼은 다른 값으로 채우는게 판단이 안될때 결측치 있는 컬럼 전부 삭제하는 방법으로 하면 안되는지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1 문제 7번
코드를 아래와 같이 작성하면 틀린것인지 궁금합니다! df=pd.read_csv('data.csv',index_col='Unnamed: 0') df.head() df=df.T print(df) me1 = df[2001].mean() me2 = df[2003].mean() print(sum(df[2001]>me1)) print(sum(df[2003]<me2))
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험환경 ver.2025 작업형2 RMSE
안녕하세요. 이번에 올라온 2유형 문제를 풀어보았는데요. <작성한 코드>import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")# 사용자 코딩pd.set_option('display.max_columns', None)# 전처리target = train.pop('총구매액')train['환불금액'] = train['환불금액'].fillna(0)test['환불금액'] = test['환불금액'].fillna(0)# [선택2] 원핫 인코딩 (카테고리가 다르면 합쳐서 진행 필요함)df = pd.concat([train, test])df = pd.get_dummies(df)# 다시 분리train = df.iloc[:len(train)]test = df.iloc[len(train):]print(train.shape, test.shape)# 검증용 데이터 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)print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)# 모델 학습 및 평가from sklearn.ensemble import RandomForestRegressormodel = RandomForestRegressor()model.fit(X_tr, y_tr)pred = model.predict(X_val)from sklearn.metrics import root_mean_squared_errorprint("RMSE:",root_mean_squared_error(y_val, pred))# 제출 pred = model.predict(test)submit = pd.DataFrame({'pred': pred})submit.to_csv('result.csv', index=False)print(pd.read_csv('result.csv')) 결측치를 0으로 채우고 train,test 합쳐서 원핫인코딩 후 랜덤포레스트회귀 모델사용 RMSE 평가지표 값이 나왔는데 강사님 수치랑 너무 크게 차이가 나서요. 이렇게 많이 차이 나도 괜찮은건가요? 작을수록 좋은거이긴 하지만 강사님이랑 너무나 다른 값이 나와서 제가 작성한 코드와 화면 출력하여서 틀린부분이 있는지 문의 드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
파라미터 최적화 GridSearchCV
실기에서 GridSearchCV써도 되나요? 'n_estimators': [100, 200], 'max_depth' : [5, 10], 'min_samples_split': [2, 5] 만 설정했는데도 돌아가는데 꽤 오래걸리는 것 같아서요 귀찮아서 바로 refit해서 쓰고 있는데 돌려보고 나서 GridSearchCV는 주석처리하고 나온 파라미터만 써서 돌려야 할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
궁금한 점 있습니다!
# 출력을 원하실 경우 print() 함수 활용# 예시) print(df.head())# getcwd(), chdir() 등 작업 폴더 설정 불필요# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")pd.set_option("display.max_columns", None)train['환불금액'] = train['환불금액'].fillna(0)test['환불금액'] = test['환불금액'].fillna(0)train = train.drop("회원ID", axis = 1)test = test.drop("회원ID", axis = 1)target = train.pop("총구매액")#print(train.describe(include = 'O'))#print(test.describe(include = 'O'))total = pd.concat([train,test])nums = total.select_dtypes(exclude = 'object').columnscols = total.select_dtypes(include = 'object').columnsfrom sklearn.preprocessing import MinMaxScalermx = MinMaxScaler()total[nums] = mx.fit_transform(total[nums])from sklearn.preprocessing import LabelEncoderfor col in cols: le = LabelEncoder() total[col] = le.fit_transform(total[col])train = total.iloc[:3500]test = total.iloc[3500:]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 = 2022)from sklearn.ensemble import RandomForestRegressormodel = RandomForestRegressor(random_state = 2022, max_depth = 10,n_estimators = 800)model.fit(x_tr,y_tr)pred = model.predict(x_val)#81957423.82110961pred = model.predict(test)re = pd.DataFrame({"pred":pred})re.to_csv("result.csv",index=False)v = pd.read_csv("result.csv")print(v.shape)강사님 안녕하세요 짧은 지식으로 2유형을 혼자 풀어보고 나서 강의를 들었는데 라벨 인코딩은 set 을 활용해서 train 안에 test 데이터가 다 있다면 따로 합치지 않아도 된다는걸 이제야 알았습니다! 혹시 저처럼 합쳐서 라벨인코딩을 진행하게되면 모델 성능에 큰 영향을 미칠까요? 그리고 합치게 된다면 그냥 원핫 인코딩으로 일관되게 쓰면 되는지도 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train데이터가 두개 주어졌을때(추가질문)
안녕하세요! concat에 대한 질문글을 달았다가, 대댓글은 알림이 가지 않는거 같아서 추가질문 드립니다 :) 질문: 어차피 train,test 두개 줘도 train에서 타겟값 분리하고 train, test 컬럼수 일치시키고 진행하니까 굳이 합칠 필요는 없을거 같은데 이해한게 맞을까용? 주로 concat을 이용할때는 train-test 컬럼을 다르게 가지고 있을때 전처리를 위해 이용하겠네요..!답변: 넵 분리되어 있다는 것을 인지하고 있다면 하지 않아도 됩니다.다만 y_train에는 타겟값 뿐만 아니라 ID를 포함하고 있어 이 부분은 주의하셔야 해요! SalePrice 컬럼을 선택해야 해서 기존과 코드가 약간씩 달라질 수 있어요! >> y_train에 id/price(타겟) 컬럼이 있다고 치면, 원래 타겟값만 별도로 저장하고 x_train/test만 사용했는데용...x_train id값과 y_train id값을 일치시켜서 합쳐야된다는 말씀이실까요?아니면 분리할때 id값도 같이 저장안되게끔 주의하라는 말씀이실까요?!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 시험 적용 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요. 빅데이터분석기사를 준비하고 있습니다.시간이 얼마 남지 않아 2유형을 할 때 머신러닝 학습 및 평가 부분을 제외하고 바로 머신러닝 학습 후 test 데이터에 적용해서 예측 결과를 제출해도 크게 상관 없을까요?2유형을 랜덤 포레스트 방식 하나만 외워서 시험을 응시할까 하는데 괜찮을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제3번 equal_var
예시문제가 제 예상보다 너무 어렵게 나온거같아서 지금 혼란스럽습니다. 학습하지 않은 내용이 나왔네요3번에서 equal_var=True는 생략해도 가능하죠?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3 범주형변수 처리시
작업형 3에서 범주형변수 처리시 어떤경우에는 C()처리하고 어떤경우에는 하지말고...헷갈려요강의들을때 독립변수는 그냥 다 C()처리해서 하는것도 좋다고 하셨던거같은데 정리 부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
가설검정의 독립표본검정
안녕하세요카이제곱의 독립성검정과 가설검정의 독립표본검정이 문제로만 봐서는 헷갈리는데 시험에서는 지문에 어떤 검정방법을 쓰라고알려주나요? 작업형3은 문제 지문을 보고 어떤 검정방법을 써야하는지 너무 헷갈리네요ㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅분기 실기 1유형 3유형 풀이과정
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요빅분기 실기 1유형 3유형 풀이과정이 중요한가요?풀이 중에서 정답 출력이 반드시 필요하지 않다고는 말해주셨는데실제로 그런 것인지 ... 몇 문제는 눈으로 풀 수 있는건 그냥 풀어도 될까 해서 질문드립니다 ㅎㅎ(6회 3유형처럼 데이터 수가 많지 않은 문제는 혹시 기억이 안 날 때, 그냥 데이터 프레임 만들어서 비교해도 되나 해서 질문드립니다) import pandas as pd df = pd.DataFrame({ "항암약":[4,4,3,4,1,4,1,4,1,4,4,2,1,4,2,3,2,4,4,4] }) # 1: '아픔', 2: '조금 아픔', 3: '속쓰림', 4: '무증상'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 전처리 방법
Object를 제거하면 검증 결과가 더 좋다고 하였는데요. object를 제거하는 방법이 drop 명령어로 삭제도있지만.cols = train.select_dtypes(exclud='ojbect').columnstrain = train[cols]위의 코드해도 결과는 같겠죠?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강사님 안녕하세요!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요지난번에 고민있어요에 올렸다가 질문 카테고리에 올리라고 하셔서고민이지만 질문에 적어봅니다! 현재 강사님 책을 2025년 버전으로 가지고 있고, 인강은 1회 완강을 하고,1유형, 3유형은 기출로, 2유형은 기출 + 캐글 competition에서 learner단계..? beginner단계..? 쉬운거 참여 하면서 처음 보는 데이터에 익숙해지려고 그냥 무한 반복 코딩 하고 있습니다. 근데 인강만 1회 완강했지, 책에 있는 개념이나 문제는 보지 않은 상태인데요,시험 12일 남은 지금 시점에서 책을 한번이라도 봐야하는지, 혹은 기출 무한반복하면서 2유형은 competition 계속 새로운거 도전하는게 더 합격 확률을 높이는건지 궁금합니다!책이 있으면서 안본게 계속 마음에 걸려서요 ㅠ_ㅠ 그나저나 진짜 예시문제 2유형 오류 아니면 어쩌지 하면서 엄청 스트레스 받고, 진짜 허탈하고 의욕 사라졌었는데 오류인거 알아주시고 업데이트되었다고 칼소식 알려주셔서 너무 감사해요ㅠㅠ이번이 1트이자 마지막 시험으로 강사님 믿고 합격길 달려보려고 합니다!!빅분기 공부하는 매 순간 감사드립니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1모의문제1
여기서 선생님의 코드와 똑같이 작성했는데 오류가 발생합니다. 그래서 아래의 코드와 같이 작성하면 선생님의 답안과는 다른 결과값이 나와서 문의 드립니다df.quantile(.75,numeric_only=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3과목 질문
A하고 B 둘중에 한개만 정규성 만족하면 ttest를 해도되나요? 아니면 한개만 만족할때는 맨휘트니유 써야하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출7 작업형1 3번문제
1. 코드 import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_1/air_quality.csv") # Q1,Q3,IQR 구하기 Q1 = df['CO2'].quantile(0.25) Q3 = df['CO2'].quantile(0.75) # print(df.describe()) # print(Q1,Q3) IQR = Q3 - Q1 # 상하한선 구하기 up = Q3 + 1.5 * IQR down = Q1 - 1.5 * IQR # 이상치 수 찾기 cond = (df['CO2'] > up) | (df['CO2']<down) cond.isnull().sum() 2. 결과값 np.int64(0) 3. 질문 제가 마지막에 cond.isnull().sum()로 썻더니 결과가 0이 나오고, df[cond]로 쓰면 선생님 영상처럼 답이 잘 처리됩니다. 제가 최초에 한 코드가 왜 답이 0이 나오는지 모르겟습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
drop 함수 사용시 재실행 오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 기출 8회차 작업형 2문제인데요, 시험환경과 같이 한 곳에다가 코드를 입력하려고 연습을 하는 중이지만, drop 함수를 사용하고 재실행하면 오류가 발생하여 코드를 나눠서 작성하게 됩니다. 처음 데이터를 재실행하는 것 외에 해결방법이 없을까요? 시험환경에서는 코드를 한곳에 모두 작성해야되어서 걱정이 됩니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
어떻게 data가 listbox의 값을 불러오는 건가요?
19:25 여기서 listbox라는 이름에 값을 넣었는데, 함수 정의할 때 data라는 이름으로 정의된 것이 없는데도 어떻게 data가 listbox의 값을 불러오는 건가요? 이렇게 함수를 정의해도 되는거 아닌가요?def min_max(listbox): mi = min(listbox) ma = max(listbox) return mi, ma
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2_모의문제2
#1. 문제탐색 # 회귀모델 csv id,price # target : price # R-Squared, MAE, MSE, RMSE, RMSLE, MAPE # 2. 데이터불러오기 import pandas as pd import numpy as np train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/test.csv") # train = pd.read_csv("train.csv") # test = pd.read_csv("test.csv") #3 데이터 탐색 #print(train.shape, test.shape) #print(train.head(3), test.head(3)) #print(train.isnull().sum(), test.isnull().sum()) #print(train.info(), test.info()) #4. 데이터 전처리 #print(train.shape, test.shape) cols = ['name', 'host_name', 'host_id'] train = train.drop(cols, axis =1 ) test = test.drop(cols, axis =1 ) #print(train.shape, test.shape) train['last_review'] = train['last_review'].mode(0) test['last_review'] = test['last_review'].mode(0) train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) #변수부여 target = train.pop('price') train = train.drop('id', axis=1) id = test.pop('id') cols = train.select_dtypes(include = 'object').columns #print(train.shape, test.shape) #레이블인코딩 from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) 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 = 2) #6.모델 학습 및 평가 from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state = 2) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error, mean_absolute_percentage_error mae = mean_absolute_error(y_val, pred) mse = mean_squared_error(y_val, pred) mape = mean_absolute_percentage_error(y_val, pred) rmse = np.sqrt(mean_squared_error(y_val, pred)) print(f"mae: {mean_absolute_error(y_val, pred)}") print(f"mse: {mean_squared_error(y_val, pred)}") print(f"mape: {mean_absolute_percentage_error(y_val, pred)}") pred = rf.predict(test) submit = pd.DataFrame({'id' : id, 'price' : pred}) submit.to_csv("0516.csv", index = False) pd.read_csv("0516.csv") 안녕하세요 모의문제 2-2번 레이블 인코딩으로 작성했는데 피드백주실 사항 있으실까요?이 문제도 원핫인코딩으로 진행해야할까요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형_2모의문제1번_피드백
#1. 문제파악 # 분류모델 / ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall) #TARGET : Attrition_Flag # CSV("CLIENTNUM,Attrition_Flag) , 수험번호.CSV #2. 데이터불러오기 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") #없을 경우 -> 원핫인코딩 / 있으면 레이블인코딩 #3. EDA #print(train.shape, test.shape) #print(train.info(), test.info()) #print(train.isnull().sum(), test.isnull().sum()) #print("test에만 있는 컬럼:", test_cols - train_cols) #train_cols = set(train.columns) #test_cols = set(test.columns) #4. 데이터 전처리 #공통 print(train.shape, test.shape) target = train.pop('Attrition_Flag') train =train.drop('CLIENTNUM', axis=1) id = test.pop('CLIENTNUM') print(train.shape, test.shape) #레이블 인코딩 cols = train.select_dtypes(include = 'object').columns from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col]= le.transform(test[col]) #5. 데이터 분할 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=2) #6. 모델 학습 및 평가 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state=2) rf.fit(X_tr,y_tr) pred = rf.predict(X_val) pred1 = rf.predict_proba(X_val) from sklearn.metrics import roc_auc_score, f1_score, recall_score, accuracy_score, precision_score roc = roc_auc_score(y_val, pred1[:,1]) f1 = f1_score(y_val, pred) recall = recall_score(y_val, pred) acc = accuracy_score(y_val, pred) pre = precision_score(y_val, pred) #7 평가 pred_test = rf.predict(test) pred1 = rf.predict_proba(test) #print(pred1) submit = pd.DataFrame({'CLIENTNUM' : id, 'Attrition_Flag' : pred1[:,1]}) submit.to_csv("0000.csv", index = False) pd.read_csv("0000.csv") 안녕하세요~이번엔 레이블인코딩으로 데이터전처리해서 풀어봤습니다 혹시 피드백해주실 부분이 있으실까요~?