학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요! 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가지 버전을 비교해 풀고 있는데, 이대로 풀어도 되는지 여쭤보고싶습니다!
from sklearn.metrics import roc_auc_score roc_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'를 양성으로 판단하는지 궁금합니다.
작업형 2유형 연습문제를 풀면서 랜덤포레스트와 LGBM 모델을 둘 다 적용해 보고 있는데, 대부분의 경우 LGBM의 성능이 더 좋게 나옵니다. 혹시 실제 시험에서도 LGBM을 주력 모델로 사용해도 괜찮을까요? 아니면 데이터에 따라 랜덤포레스트가 더 유리한 경우도 있어서 두 모델을 모두 비교해 보는 것이 좋을까요? 시험장에서 모델 선택 시 어떤 기준으로 판단하면 좋을지 궁금합니다. 감사합니다! 😊
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 질문합니다. 문제1-1에서는 p-value가 0.05보다 작은 이라고 적어져 있고 문제1-2에서는 p-value가 0.05 이하라고 적어져 있어요 답에는 차이가 없지만 '보다 작은'으로 봐야하나요? 이하라고 봐야하나요?
안녕하세요 9회 시험을 볼 때, 강의를 작업형 2까지만 듣고 갔다가 60점으로 떨어졌습니다. 그동안 바쁘다고 시험을 치루지 못하다가 마지막 기회라 이번에 접수했는데요. 이번에도 시간이 없던 중에 반갑게도 [94. 빅이사] 강의가 있어서 작업형 2를 [기초편]으로 rf로 외웠는데 [96. 오징어게임]에서 Q&A 시간에 하나만 하면 LightGBM라고 하셔서요 그럼 lgb 기초편 버전을 알려주실 수 있을까요? 2년 전에는 정식으로 검증데이터 분할해서 했는데, 1주일동안 작업형 1/2/3을 다 외우려니 쉽지 않아 기초편으로 가보려 합니다. 금요일 휴가는 냈는데 열심히 해보고 합격소식 올려볼게요...ㅠㅠ
학습하다보니, (), [], {} 각 괄호의 사용이 너무 헷갈려서 문의드립니다. 때로는 두개를 같이 사용하기도 하던데, 정확하게 세 가지 괄호를 각각 어떤 기준으로 괄호를 사용하면 될까요? 예1) ['칼럼명'] # 지역별 평균 계산 df = df.groupby(['city']).mean(numeric_only=True) 예2) ("칼럼명") ->여기서는 왜 []를 안 쓰는건지.... # 'f2'컬럼이 가장 큰 지역 출력 print(df.sort_values("f2", ascending = False).index[0])
새로운 컬럼 cancel_TF 생성: 주문번호가 'C' 로 시작하면 True , 아니면 False ( 'C' 는 취소 주문) 라고 문제에 작성되어있는데 str.contains('c')가 아니라 str.startswith('c')로 해야하는거 아닌가요? contains는 c가 포함이되었는가를 판단하는걸로 알고 있고 startswith는 c로 시작하는지를 판단하는걸로 알고있는데 말이죠
빅데이터분석기사 실기 기출 완전정복 [전 회차 수록 ·계속 업데이트 · 전용 실습환경 제공]
다중회귀, 로지스틱에서 독립변수에 범주형이 나오고, "회귀계수가 가장 큰 변수를 구하라"와 같은 문제가 나오면 해당 변수를 원핫인코딩/라벨인코딩 어떤걸 선택하는지, 원핫인코딩이라면 기준범주가 무엇인지, 라벨인코딩이라면 각각 어떤 값으로 매핑했는지에 따라 답이 달라지지 않나요?
안녕하세요. 수업을 듣다가 replace와 map의 차이를 찾아보니 map은 딕셔너리 형태에 적여 있지 않은 모든 키값을 null로 만들고 replace는 그대로 손대지 않는다고 하는데, 그러면 1과목에서 자세한 EDA가 전제 되지 않는다고 가정했을때 왠만하면 map을 피하고 replace를 해야하지 않을까? 하는 생각이 들었는데 수업에는 map을 조금 권장하는거 같기도 하여 혹시나 여기에 대해서 제가 어떻게 생각을 정리해야할지 질문드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 2번문제 평균 계산하니깐 원래 25.055 였는데 강의에서는 print() , round()를 씌우니깐 25.022로 출력되던데 이유가 뭔가요??? 저는 계속 25.055로 출력이 되네요