묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫 인코딩 관련
그냥 get_dummies로 인코딩 하는것보다 위 사진과 같이 train,test 데이터를 합치고 인코딩 후 다시 분할하는게 항상 더 좋은 방법일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
타겟 분리
결측치 처리 전에 타겟 변수를 먼저 분리한 후에 결측치 처리를 해야하나요?저번엔 결측치 처리 전에 무조건 타겟변수를 먼저 분리하라고 하셨는데,이번에는 분리를 따로 안하셔서요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Id 삭제
에어비엔비 가격 데이터에서 ID는 왜 삭제하는건가요? 꼭 삭제해야하는 건가요?여기 답변달린거 보니까 숫자인 경우에는 ID 삭제 안해도 된다고 하던데 ID가 숫자인데 왜 삭제하는 건가요?+) AI 답변 확인했는데, 맨 처음 전처리를 할 때 ID를 삭제할지 안할지를 어떻게 판단하는지 기준을 알고싶어요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
roc_auc_score 질문: 작업형2 모의문제3 09분 48초
작업형2 모의문제3 09분 48초이 부분에서 .predict_proba()를 통해서 pred_proba라는 변수에 평가 결과가 저장되었는데 이때 pred_proba[:,1]로 슬라이싱하는 이유를 질문드립니다.pred_proba라는 변수는 roc_auc_score 확률값이 저장되어있는데, roc_auc_score 평가 지표는 2개의 클래스에 각각 해당될 확률인 2개의 컬럼이 있는 배열로 출력되는데 0번 컬럼이 "심장마비 확률 높음" 컬럼인지 "심장마비 확률 낮음" 의 컬럼인지 어떻게 판단해서 [:, 1]로 슬라이싱하는 걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫인코딩 코드 질문
작업형2 모의문제2 11분12초의 레이블인코딩이 아닌 원핫인코딩으로 변경하는 코드에 대해서 질문드립니다.만약 원핫인코딩으로 진행하려면 아래와 같이 코드를 작성하면 될까요? # 원핫인코딩 train = train.drop('price', axis = 1) train = pd.get_dummies(train) test = pd.get_dummies(test)그리고 원핫인코딩으로 변경하면 검증데이터 분리 과정에서 코드를 어떻게 수정해야하나요?(.pop()을 사용해서 'price' 컬럼을 따로 변수에 저장한 후에 target 부분에 넣어야할까요?)X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 0 )
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
map 함수 사용 필수적인가요
작업형1 - section14 를 먼저 풀었을 때 아래처럼 작성하였습니다답은 맞게 나오긴하는데 풀이에선 map을 활용하였더라고요. 따라서 써보려고 하는중인데 영 손에 익지않습니다 ㅠㅠ혹시 이후 과정에서도 map을 많이 사용한다면 최대한 외워보려고 하는데 필수적일까요 ..? import pandas as pd # df = pd.read_csv("type1_data1.csv") df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data1.csv") #print(df.shape) # 1 중복 데이터 제거 df = df.drop_duplicates() #print(df.shape) # 2 f3 변환 ## 결측치 -> 0 # print(df.isna().sum()) df['f3'] = df['f3'].fillna(0) # print(df.isna().sum()) ## silver -> 1 , gold -> 2, vip -> 3 cond1 = df['f3'] == 'silver' cond2 = df['f3'] == 'gold' cond3 = df['f3'] == 'vip' df[cond1] = 1 df[cond2] = 2 df[cond3] = 3 # 3 f3 sum() result = df['f3'].sum() print(result)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수강 기한 연장 문의드립니다.
안녕하세요 강사님, 항상 좋은 강의 감사합니다 !다름이 아니라, 강의 수강 기한이 곧 만료되어 혹시 가능하다면 이번 시험 일정까지만 연장이 가능할지 여쭤봅니다..!(연락 가능한 메일 : hk2044@naver.com)감사합니다!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
34강 평가지표
안녕하세요 강사님평가지표 강의중에 문득 궁금한게 생겨서요앞선 강의에서는 문자는 모두 인코딩을 통해 숫자형으로 변환했는데,갑가지 강의에서 실제값, 예측값에 문자가 있을 경우를 설명해주시니 조금 혼란스럽네요...그리고 이번 강의는 너무 빠르게 훑고 넘어가서 이해가 잘 안되는거 같습니다아래 average 부분도 언제 이걸 쓰는지 알아야 할 거 같은데... 설명없이 슥 넘어가버려서...average= micro, macro, weighted
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
103강 작업2형 전처리(레이블인코딩 부분) 오류
import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/hr_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/hr_test.csv") # 4. 데이터 전처리 target = train.pop('target') train = train.fillna('X') test = test.fillna('X') com = pd.concat([train, test]) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = train.select_dtypes(include='object').columns for col in cols: # com[col] = le.fit.transform(com[col]) # n_train = len(train) # train = com[:n_train] # test = com[n_train:] # # 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=0) # print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) # # 6. 학습 및 평가 # from sklearn.ensemble import RandomForestClassifier # rf = RandomForestClassifier(random_state=0) # rf.fit(X_tr, y_tr) # pred = rf.predict_proba(X_val) # from sklearn.metrics import roc_auc_score # ras = roc_auc_score(y_val, pred[:,1]) # print("랜덤ras:", ras) # import lightgbm as lgb # lg = lgb.LGBMClassifier(random_state=0, verbose=-1) # lg.fit(X_tr, y_tr) # pred = lg.predict_proba(X_val) # from sklearn.metrics import roc_auc_score # ras = roc_auc_score(y_val, pred[:,1]) # print("엘지비ras:", ras) # # 7. 제출파일 생성 # pred = rf.predict_proba(test) # result = pd.DataFrame({"pred":pred[:,1]}) # result.to_csv("result.csv", index=False) **레이블인코딩 부분이 오류가 계속 나는데 어디가 잘못 됐는지 찾지를 못합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1_section14 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형1_section14 에서 fillna(0)을 적용한 뒤 map() 함수를 사용하면 최종 결과 값은 동일하나 df 조회 시 다시 결측값이 발생됩니다.이 경우 map() 대신 replace()를 사용하는 것이 맞는지 궁금합니다.# 값 대체 df['f3'] = df['f3'].fillna(0) dict_list = {'silver':1, 'gold':2, 'vip':3} df['f3'] = df['f3'].map(dict_list)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1_연습문제 7번 관련입니다.
20번 강의 > 7번 문제를 풀던 중, 모든 나이에 1을 더하고, cond1 cond2를 설정한 뒤 각 조건의 절댓값 차이를 result 변수에 넣고 값을 확인했습니다. 값이 783.37이 나왔습니다. 선생님께서는 정답을 263.13으로 말씀 주셨습니다. 코드가 같은데, 값이 다른 이유가 궁금합니다. 제가 쓴 코드는 아래에 첨부하였습니다. df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data1.csv") df['age'] = df['age'] +1 cond1 = (df['age']>=20) & (df['age']<30) cond2 = (df['age']>=30) & (df['age']<40) result = abs(df[cond1]['views'].mean() - df[cond2]['views'].mean()) print(result) print(round(result, 2))
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 프레임 슬라이싱 혹은 데이터 선택하기가 어렵습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요기출 9회 작업형 1에서 보면,grouped[1] 을 사용해서 지역코드와 성별로 그룹된 데이터프레임에서 1에 해당하는 컬럼명과 데이터를 선택합니다.그런데 저는 이제까지 연습할 때 데이터프레임에서 열을 선택하기 위해 df[숫자]를 쓰면 행이 선택이 되었고, df[: , 숫자]를 입력하면 에러가 났었습니다. 그래서 df에서는 loc나 iloc를 사용해서 슬라이싱 혹은 인덱싱을 하고 있었습니다. 그런데 본 데이터에서는 오히려 loc와 iloc를 사용하면 에러가 납니다. 차이가 무엇인가요?해당 데이터에서는 왜 컬럼 선택으로 출력이 되는 건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
크로스 밸리데이션 질문
cross_val_score와 metrics의 f1_score 점수를 비교해보는데 근소한 차이긴 하지만 크로스 밸리데이션이 더 낮게 나오는거 시험에는 별로 상관없을까요?metrics는 0.845, cross는 0.785 이렇게 나옵니다!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
로지스틱 회귀분석 질문
작업형3 로지스틱 회귀분석 이론 강의에서는 로지스틱 함수로 모델 생성 후 test 데이터로 예측할 때 target를 빼지 않고 바로 예측을 진행했는데,제7회 기출문제에서 예측할 때는 pop으로 target을 빼고 예측을 수행했습니다.어떤 경우에 pop을 사용 후, 예측을 수행해야 하는지 차이점을 알고 싶어 질문드립니다.# 데이터셋 분할 train = df.iloc[:210] test = df.iloc[210:] # 1) 학습, test데이터를 사용해 예측 (0.5 미만: 0, 0.5 이상 1) model = logit("gender ~ weight", data=train).fit() target = test.pop("gender") pred = model.predict(test) > 0.5
-
해결됨[2026년 빅분기 실기 준비] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !
accuracy_score() 사용 시 인자 순서 오류 관련
안녕하세요. 우선 좋은 강의 제공해 주셔서 감사합니다.강의에서 2유형 풀이 후 모델 평가 시 accuracy_score() 사용하실 때 아래와 같이accuracy_score(x_val_pred, y_val)accuracy_score(y_hat, y_train)"모델이 예측한 값(라벨), 실제 값(라벨)" 순서로 사용하시는 것 같은데, 올바른 사용 순서는 그 반대가 아닌가요? 실제 라벨이 먼저, 다음에 모델 예측값이 다음으로 들어가야 옳은 순서라고 sklearn의 공식 문서에서 확인해서 여쭤봅니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수치형 데이터만 선택하여 푸는 경우에 오답확률이 높아질까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요예시문제 작업형2(2025v)에서저는 아래와 같이 문자는 제외하고, rmse (max_depth, n_estimators 최적화도 진행함)를 구했는데요! 레이블인코딩하지 않은 경우라면, 채점시에 점수가 낮아질 확률이 높아지나요?? 합불에 크게 영향을 주는 지 궁금합니다.train=train.select_dtypes(exclude='O')test=test.select_dtypes(exclude='O') 추가로 제가 작성한 코드를붙입니다! train=train.dropna(axis=1)test=test.dropna(axis=1)train=train.select_dtypes(exclude='O')test=test.select_dtypes(exclude='O')# print(train.shape, test.shape)# print(train.isnull().sum().sum())# print(test.isnull().sum().sum())from sklearn.model_selection import train_test_splitX_tr,X_val,y_tr,y_val = train_test_split(train.drop('총구매액', axis=1),train.pop('총구매액'), test_size=0.2, random_state=0)# print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape)from sklearn.ensemble import RandomForestRegressorrf=RandomForestRegressor(random_state=0,max_depth=7, n_estimators=200)rf.fit(X_tr,y_tr)pred=rf.predict(X_val)from sklearn.metrics import root_mean_squared_errorprint(root_mean_squared_error(y_val,pred))#base 820.5860282970249#3,100 875.2260812472606#3,200 873.5386940171521#3,400 874.1382881938769#5,400 824.3641497143064#5,200 818.239922754944#7,100 804.8452832752822#7,200 804.418493364831 //#10,300 814.7390378036772# 10,100 820.1853548789979pred=rf.predict(test)pd.DataFrame({'pred':pred}).to_csv('result.csv',index=False)print(pd.read_csv('result.csv'))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 object 컬럼 인코딩 관련 질문
인코딩시 concat을 사용하는 상황에 대해 질문이 있습니다.1.train과 test의 unique한 값을 비교해서(set에 넣어서)1) 만약 종류가 완전히 같을 경우one-hot 인코딩 : train, test 각각 get_dummieslabel 인코딩 : for문 내부에서 train은 fit_transform, test는 transform2) 갯수는 다르지만 train의 종류가 test의 종류를 모두 포함 할 경우one-hot 인코딩 : concat한 후 get_dummies 한 후 분리label 인코딩 : for문 내부에서 train은 fit_transform, test는 transform3) 각자 서로에게 없는 종류를 가진 경우one-hot 인코딩 : concat한 후 get_dummies 한 후 분리label 인코딩 : concat한 후 fit_transform 한 후 분리이렇게 구분하면 되는건가요? 2.또한 궁금한게, 굳이 저렇게 상황별로 외우지 말고 그냥 무조건 concat해서 인코딩 후 분리하는 전략은 어떤지 의견이 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
하이퍼파라미터 변수
작업형 2을 여러 데이터를 구해서 해보고 있는데 하이퍼 파라미터 변수를 조정해서 평가결과를 보면 학습률이 높거나 트리가 깊어야 점수가 좋게 나오는 경우가 있는 것 같습니다 예를 들면 대중적으로는 아래처럼 쓰는데n_estimators=500, learning_rate=0.05, max_depth=6이렇게 넣어야 score가 높게 나오는 경우입니다n_estimators=400, learning_rate=0.13, max_depth=10 시험에서도 대중적인 파라미터 대신 평가 점수만 보고 파라미터를 조정해도 괜찮을지 궁금합니다!
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
52강 이원분산분석
강사님 안녕하세요.강의를 보다가 궁금증이 생겨서요. 49. 다중선형회귀2 (범주형 변수)에서는 강사님이 스태츠 모델즈의 ols함수에서는범주형 변수 가 포함되어있으면 이를 자동으로 인식하고 내부적으로 원-핫 인코딩 처리를 하므로 사용자가 별도로 범주형 변수를 수치형으로 변환하는 작업이 없어도 된다고 하셨는데, 52강 이원분산분석에서는범주형 변수를 분석할때 c()를 사용해 범주형으로 처리해야한다고 하셔서요. 이원분산분석도 ols를 사용하는데왜 다른지 궁금합니다. 확인 부탁드릴게요!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실제시험환경에서 작업형1,2,3의 문제풀이 순서
안녕하세요. 강이 잘 듣고있습니다. 시험이 얼마남지않아 체험환경에 익숙해지려합니다. 체험환경에서 코드를 작성해보고있는데, 문득 실제 시험장에서 작업형 1,2,3번을 풀때 순서상관없이 제한시간 3시간안에만 풀면되는지 궁금해져 여쭤봅니다.체험환경에서는, 다른문제 탭눌러 이동할때 첨부사진과같이 팝업창이 뜨는경우가있던데요, 안뜰때도있고요..무시하고 3시간안에만 풀면되는건가요?