- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 마지막 2차원 ndarray 인덱싱 자료화면(11분 경)에서 마지막 6번째 인덱싱 결과가 1차원이라고 하셨는데 Index 1이 1개, index 0이 2개인 (2,1) 의 2차원으로 봐야 하는 것 아닌지 질문 드립니다
xgboost의 모델은 decision tree의 형식을 따르는 걸까요? n_estimators값 만큼의 반복 수행을 하며 decision tree의 가중치를 수정해나가는 방식으로 이해하였는데 맞는지 궁금합니다. 그리고 xgb가 왜 앙상블 기법인지에 대해서도 약간 이해가 잘 안되서 설명 부탁드립니다!
from sklearn.metrics import precision_recall_curve # 실제값 데이터 셋과 레이블 값이 1일 때의 예측 확률을 precision_recall_curve 인자로 입력 precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 ) print('반환된 분류 결정 임곗값 배열의 Shape:', thresholds.shape) print('반환된 precisions 배열의 Shape:', precisions.shape) print('반환된 recalls 배열의 Shape:', recalls.shape) print('thresholds 5 sample:', thresholds[:5]) print('precisions 5 sample:', precisions[:5]) print('recalls 5 sample:', recalls[:5]) precision_recall_curve 함수를 이용해 precisions, recalls, thresholds 값을 반환받는 과정입니다. 여기서 thresholds의 개수가 precisions, recalls보다 1개 더 적게 나오는 이유가 궁금합니다. 위에서 개수 차이로 인해 thresholds값에 따른 precisions, recalls값들이 대응되지 않는 위치에 존재하지 않나요? print('thresholds 5 sample:', thresholds[:5]) print('precisions 5 sample:', precisions[1:6]) print('recalls 5 sample:', recalls[1:6]) 이렇게 하는게 옳다 생각했는데 제 생각이 잘못되었는지 궁금합니다.
안녕하세요 수업 너무 잘 듣고 있습니다. 수업중에 "변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 된다"는 말씀을 주셨는데 왜 그런지 직관적으로 이해가 되지 않아서 질문드립니다. 변동성이 너무 큰 상황에서도 많은 반복을 하면 예상하는 margin을 기대할 수 있는 것이 아닌가 싶은 생각이 들기도 합니다. 설명 기다리겠습니다. 감사합니다.
선생님 안녕하세요, 개정1판도, 개정 2판도 교재를 구매해서공부하고 강의듣고 있습니다. 그런데 두 책에서 log1p()함수에 관해 1+log(x) 라고 설명하고 계시는데 log(x+1)값이 아닐런지요? 그래서 이것을 역함수로 하는 함수는 exp1m()이 아니라 expm1() 되는거고 이름을 지정하는 원칙도 함수의 모양을 따라 지정한 것 같아요 1+x값을 로그에 넣고, 역함수를 만드는것은 e^(x)-1이라서 1p ->m1이런식으로..한게 아닐런지.. 제 생각이 잘못되었는지 궁금합니다
선생님 안녕하세요 개정2판으로 책과 함께 다시 강의를 듣고있습니다 5장 회귀p.325에서 단순회귀그래프를 그리는데 맨 마지막의 그래프가 나오지 않으면서 범주형변수의 order관련해서 typeError 를 보이고 있습니다. 일단, 보스턴 주택가격 데이터는사이킷런에서 삭제되어서 다른방식으로 로딩해서 만들었습니다. 시본그래프가 왜ax= axs[row][col] 부분에서 마지막객체가 비어있는데 왜그럴까요? 더운여름 건강 조심하시고, 정말 훌륭한 강의 감사드립니다. boston_1 = datasets.fetch_openml('boston', return_X_y= True) bostonDF = boston_1[0] bostonDF['PRICE'] = boston_1[1]
fraud일때만 이상치를 제거하는 이유에 대해서 강의중에 나중에 말씀해주신다고 하셨는데 그대로 신용카드 사기실습 강의가 끝나서 질문남깁니다! 강의 어느파트로 가면 해당 부분을 설명들을수 있을까요? (현재 강의진도를 그대로 따라가는데에 어려움을 겪어 부분부분 듣고있는 상태입니다)
안녕하세요. 귀한 강의 잘 듣고 있습니다 감사합니다! 다름이 아니라 PCA 관련하여 'PCA의 이해' 강의에서, 데이터 변동성이 가장 큰 방향으로 축을 생성하고 데이터를 그 축에 사영한다고 해주셨는데요. 혹시 그럼 데이터의 사영 방향이 축(키-몸무게 축)에 직교하는 형태로 사영하는 것이 아닌가요?! 제가 이해한 바랑 그림이 조금 달라서 여쭤보게 되었습니다 ㅎㅎ 감사합니다!
선생님 안녕하세요 좋은 강의 감사합니다. linear regression(statsmodel)에 PCA를 적용하여 test 데이터로 예측하는 경우에 질문이 있습니다. 예를 들어, 기존의 20개의 피쳐 --> PCA를 통해 10개의 새로운 피쳐(x1~x10)를 추출했다고 가정하고, 이 중에 statsmodel로 linear regression 을 돌렸는데, 이 중 x6, x7, x8 의 p_value 가 0.05 이상이어서 유의미한 피쳐가 아니라고 볼 수 있는 상황입니다. 그러면 test 데이터(valid 데이터 아님)를 가지고 실제로 예측을 해야 하는 상황에서는, test 데이터를 가지고 PCA를 돌려서 10개의 새로운 피쳐를 추출 그 중에 x1~x5, x9, x10 --> 7개의 피쳐를 추출하고, train 데이터에서 나온 7개의 coef 를 가지고 만들어진 선형 모델로 예측 수행 을 하면 되는 것이 맞나요? 제가 궁금한 것은 PCA를 사용하여 나온 피쳐 중 일부만을 사용하는 경우에도, train 을 통해 나온 coef 를 pca로 변환한 test 데이터에 사용할 수 있는지 여부 입니다. 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. A_i의 정의가 i번째의 사람이 모자를 받는다는 건데 A_1에서 (N-1)!을 설명하실 때 첫번째 사람이 자기 모자를 받았을 때의 전체 경우의 수라고 얘기하셨는데 2번째 사람의 N-1에서는 2번째 사람의 자기 모자를 받을 경우의 수도 포함인거 아닌가요? 그렇게 된다면 1번째 사람 2번째 사람 둘다 자기의 모자를 받으니 정의에 어긋나기때문에 이때는 N-2가 되야하는거 아닐까요?
안녕하세요. 강의에서 GridSearchCV의 best_score가 0.9165인데, 최적의 파라미터를 적용한 모델의 accuracy가 0.9260 입니다. 둘다 최적의 파라미터를 적용한 수치이고, train, test 데이터는 이미 txt파일 단계에 나눠져 있고, 모델의 random_state=0 으로 같은데 어떻게 accuracy가 달라질 수 있는건인지 궁금합니다. 좋은 강의 덕분에 많이 성장하고 있는 느낌이 듭니다.^^ 감사합니다.
권철민 교수님! 늘 감사드립니다. 늘 업데이트도 해주셔서 정말 감동입니다 :) 질문 있습니다! 산탄데르 만족예측관련해서 주신 실습코드에 보면, XGBoost의 "early_stopping_rounds" 를 사용하기 위해 학습데이터 셋 분리 분리된 데이터에서 조기종료 검증셋 분리 모델학습 이렇게 구성되어있습니다. ## 1. 학습셋 분리 X_train, X_test, y_train, y_test = train_test_split(X_features, y_labels,test_size=0.2, random_state=0,stratify=y_labels) ## 2. X_train, y_train을 다시 학습과 검증 데이터 세트로 분리. X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size=0.3, random_state=0, stratify=y_train) ## 3. 모델 훈련 from xgboost import XGBClassifier from sklearn.metrics import roc_auc_score # n_estimators는 500으로, learning_rate 0.05, random state는 예제 수행 시마다 동일 예측 결과를 위해 설정. xgb_clf = XGBClassifier(n_estimators=500, learning_rate=0.05, random_state=156) # 성능 평가 지표를 auc로, 조기 중단 파라미터는 100으로 설정하고 학습 수행. xgb_clf.fit(X_tr, y_tr, early_stopping_rounds=100, eval_metric='auc', eval_set=[(X_tr, y_tr), (X_val, y_val)]) 여기서 질문이 있습니다. 최종적으로 모델을 만들때는 X_train, y_train 셋으로 사용해야 더 많은 데이터로 학습을 하기에 성능이 좋지 않나요? 아무래도, X_tr 보단 X_train셋의 데이터가 많으므로 좋을거 같아서요.. 물론, 조기종료(early_stopping_rounds)를 사용하지 못하겠지만... 아니면 일단 조기종료를 통해 하이퍼파라미터를 찾고, 그 파라미터로 맨 마지막에 X_train을 사용하라는 의미로 생각해도 될까요?? 교수님께 늘 감사드리며, 24년도 늘 건강하고 행복한 일들로만 가득하길 기원합니다^^. 좋은 하루 되세요!
만약에 하기와 같은 실험이면 어떻게 최소 샘플 사이즈를 구하나요? 기존 광고는 이미지 광고였습니다. 그래서 비디오 광고로 바꾸고자해서 ABT를 합니다. 이 때 Success metric은 Click 수 입니다. (CTR이 아님) 클릭수 : 10,000회 MDE : 15,000회 --> (15000-10000)/10000 = 0.5 Alpha = 0.05 Beta = 0.8 이렇게 Baseline conversion rate(소수)이 아니고 Baseline conversion 정수면 어떻게 해야할까요?