안녕하세요. 11회 기출부터 역순으로 순차적으로 풀어보고 있는데 8회만 해도 MIN MAX 스케일링의 수식을 문제에서 제공하고 있는 반면, 7회 기출은 갑자기 스탠다드 스케일링의 수식을 제공하지 않고, 상관계수를 구할 때 절댓값을 취해야한다는 점도 알려주지 않고있습니다. 사실 스탠다드 스케일링은 고등학교에서도 나오니까 std()함수를 썼는데 이게 또 스탠다스 스케일링을 하고싶을 땐 std()안에 ddof라는 옵션을 0으로 설정해야한다고 하네요.. 빅분기가 시행된지 얼마 안된 시험이어서 이때만 시험 문제가 이렇게 나온거고, 요즘 시험은 그냥 10회, 11회랑 비슷하게 나온다고 받아들이면 되는 것일까요, 아님 이 정도의 배경지식은 작업형 1에서 실제로 필요한게 맞는걸까요? 통계쪽 배경지식은 작업형 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가지 버전을 비교해 풀고 있는데, 이대로 풀어도 되는지 여쭤보고싶습니다!
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분18초 부터 나오는 재귀연산법을 그동안 제가 이전 강의에서는 연산조건이 한가지만 나오는 단순재귀 같은 경우는 그냥 눈에 보이는 코드 흐름상 파라미터 -> 리턴값 순으로 재귀연산을 해서 풀었는데 (ex:5+4+3+2+1) 이번에는 조건재귀같은 경우는 똑같이 풀다가 값이 다른 결과가 나오는 참사가 발생했습니다. 그래서 조건이든, 단순이든 재귀연산법은 리턴값부터 차근차근 파라미터 순으로 가는게 안전한 건가요?
작업형 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로 시작하는지를 판단하는걸로 알고있는데 말이죠
빅데이터분석기사 실기 기출 완전정복 [전 회차 수록 ·계속 업데이트 · 전용 실습환경 제공]
다중회귀, 로지스틱에서 독립변수에 범주형이 나오고, "회귀계수가 가장 큰 변수를 구하라"와 같은 문제가 나오면 해당 변수를 원핫인코딩/라벨인코딩 어떤걸 선택하는지, 원핫인코딩이라면 기준범주가 무엇인지, 라벨인코딩이라면 각각 어떤 값으로 매핑했는지에 따라 답이 달라지지 않나요?