월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
<4장 랜덤 포레스트 실습> 강의에서
안녕하세요. 강의에서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년도 늘 건강하고 행복한 일들로만 가득하길 기원합니다^^. 좋은 하루 되세요!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
사이킷런 업그레이드 수행 및 XGBoost와 LightGBM 설치 강의 (mac os용 영상이나 가이드)
안녕하십니까 교수님.사이킷런 업그레이드 수행 및 XGBoost와 LightGBM 설치 강의를 듣는 중 영상이 윈도우에 초점이 되어있는데저는 mac os를 쓰고 있습니다. 1:19초부터 진도를 못따라가겠는데mac 용 설치방법 영상이나 가이드는 따로 없을까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
정밀도와 재현율의 트레이드오프(Trade off) - 01
정밀도와 재현율은 Trade-off관계가 있다고 하였는데, confusion matrix에서 Positive로 예측할 확률이 높아지면 FP와 TP가 같은 비율로 증가하게 되고 결과적으로 임계치가 낮아져 Positive로 분류할 확률이 높아지더라도 정밀도는 동일한 것 같다고 생각이 됩니다. 제 생각에서 잘 못 된 것이 무엇인지 모르겠습니다. 재현율은 당연히 높아지는 데, 정밀도는 왜 감소하는지 이해되지 않습니다. 만약 Positive로 예측할 확률이 높아지는 경우에 FP와 TP가 같은 비율만큼 증가하는 것이 아니라면 반드시 FP증가율이 TP증가율보다 커져서 필연적으로 정밀도가 증가할 수 밖에 없는 것인지도 궁금하며, 이유도 궁금합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
시각화 관련하여 문의드립니다.
안녕하세요, 선생님개발 비전공자 수강생입니다.선생님의 sql강의로 sql을 입문하여, 현재 sql은 어느정도 다루고 있습니다.이번에 머신러닝에 관심이 생겨서간단하게 파이썬에 대한 문법정도만 익혀서 머신러닝 강의를 듣고있는데,머신러닝에 대하여 아무것도 모르는 상태로,복습을 하면서 하다보니시각화쪽도 학습해야 할 분량이 많더라구요.머신러닝을 습득하기 위해서는 시각화가 꼭 필수로 알고 넘어가야 할까요?시각화를 제외한 부분을 손에 익인 후에, 시각화를 추후에 학습는 학습은 어떠한가요?머신러닝에 대하여 잘 몰라서, 시각화 부분을 필수로 익히고 넘어가야 하는지 문의드립니다
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
피마 인디언 당뇨병 예측
안녕하십니까 선생님. 강의 너무 잘 듣고 있는 머신러닝 꿈나무 도은우입니다. 저는 현직의사로 의료ai의 길을 걸을려고 하는데 선생님의 강의가 너무 많은 도움이 되고 있습니다. 다름이 아니라, 인디언 당뇨병 예측에서 zero_features의 0의 값을 zero_features의 값의 mean으로 replace하셨는데, 이럴경우에 애초에 0이 있는것 때매 의미 있는 평균값이 나오지 않는다고 저는 생각했습니다. 애초에 0이 아닌 값들의 평균으로 하는건 어떤가요>???
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
Santander Customer Satisfaction 데이터셋 다운로드 관련 질문입니다.
안녕하세요 !머신러닝 재밌게 수강중인 학생입니다.이번에 분류를 공부하다가 산탄데르 데이터셋을 다운로드 받기위해 캐글에 들어갔으나 선생님의 화면과는 다르게 떠서 어디서 다운로드 받아야하는지 모르겠습니다.사진 첨부하겠습니다.감사합니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
파일 위치를 못찾겠습니다
깃허브에서 실습 예제(perfect guide?)를 다운받았습니다. 강의 영상에서는 user에 집어 넣으면 된다고 하셨지만, scikit learn 설치 이슈 때문에 가상환경을 만들어서 그런가 파일 위치가 다른 것 같습니다. 구글에 검색해보니 evns/new_base가 가상환경 경로 라고 하는데 또 막상 이곳에 파일을 넣으니 jupyter notebook에서는 보이지 않더라구요..어떻게 하면 좋을 까요
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
pandas 오류?
scikitlearn 다운그레이드가 안돼서 커뮤니티에 다른 질문들 보며 new_base 가상환경을 구성하고 가상환경 activate 한후 pandas 포함해서 필요한 패키지들 설치 했습니다.가상환경 활성화된 상태에서 pip install jupyter notebook 으로 주피터 노트북 설치한 후에 jupyter notebook 커맨드로 실행시켰습니다. 그리고 새로운 notebook 열어서 사진철머 실행시켰는데 빨간 박스가 뜨면서 경고 문구가 나오네요. 어떻게 해결하면 좋을까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
상관 Heatmat에서 질문 있습니다.
안녕하세요! 머신러닝 강의 마지막 부분에 히트맵을 표현하는 부분에서 ValueError가 발생하여 질문드립니다. 강의 코드를 따라가는 도중 titanic_df.corr()인 부분이 있는데 숫자형 열이 아닌 부분은 자동으로 제외되어야 하는데 저는 아래와 같은 에러가 발생합니다. ValueError: could not convert string to float: 'Braund, Mr. Owen Harris' 무슨 문제인지 해결이 안되어 질문드렸습니다!답변 부탁드립니다. 감사합니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
k-fold 작동방식에 관한 질문입니다.
dt_clf = DecisionTreeClassifier(random_state=156) skfold = StratifiedKFold(n_splits=3) n_iter=0 cv_accuracy=[] # StratifiedKFold의 split( ) 호출시 반드시 레이블 데이터 셋도 추가 입력 필요 for train_index, test_index in skfold.split(features, label): # split( )으로 반환된 인덱스를 이용하여 학습용, 검증용 테스트 데이터 추출 X_train, X_test = features[train_index], features[test_index] y_train, y_test = label[train_index], label[test_index] #학습 및 예측 dt_clf.fit(X_train , y_train) pred = dt_clf.predict(X_test) # 반복 시 마다 정확도 측정 n_iter += 1 accuracy = np.round(accuracy_score(y_test,pred), 4) train_size = X_train.shape[0] test_size = X_test.shape[0] print('\n#{0} 교차 검증 정확도 :{1}, 학습 데이터 크기: {2}, 검증 데이터 크기: {3}' .format(n_iter, accuracy, train_size, test_size)) print('#{0} 검증 세트 인덱스:{1}'.format(n_iter,test_index)) cv_accuracy.append(accuracy) # 교차 검증별 정확도 및 평균 정확도 계산 print('\n## 교차 검증별 정확도:', np.round(cv_accuracy, 4)) print('## 평균 검증 정확도:', np.mean(cv_accuracy)) 안녕하세요 선생님. k-fold 작동방식에 관한 질문이 있어 글 남깁니다. 전체 데이터셋에서 테스트셋을 제외하고, k개의 데이터셋으로 나누어 학습과 검증을 k번 반복한다. 그리고, 교차 검증 최종 평가는 k번의 학습과 검증에서의 평가지표를 평균낸다. 정도로 이해하였습니다. 여기서 저의 궁금점은 다음과 같습니다.k번의 학습과 검증을 반복하면서 가장 좋았던 iteration의 모델을 최종 모델로 가져가는것인지, 아니면 k번의 학습을 통한 모델의 파라미터들을 평균을 내어 최종 모델을 새로 구하는 것인지 궁금합니다.최종 평가지표는 k번의 학습과 검증에서의 평가지표 평균이 아닌, 테스트셋에 대한 평가지표가 더 적당하지 않은지 궁금합니다.위 코드에서처럼 for문 안에 fit을 통해 모델 학습을 시킬 때, 이전 iteration에서의 모델 학습과는 전혀 연관되지 않게 새로 학습을 시작하는것인지 아니면 이어서 학습하는 것인지 궁금합니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
교재 125쪽 minMaxScaler와 가우시안 분포
안녕하세요 선생님덕분에 머신러닝 너무 재밌게 공부중입니다. 데이터의 분포가 가우시안 분포가 아닐 경우에 minMaxScaler을 적용해 볼 수 있습니다.라고 나와있는데, 이유가 무엇인지 알 수 있을까요? 제가 생각해본 이유들은 다음과 같습니다.이미 평균은 0, 표준편차는 1로 정규화되어있어 다시 정규화를 진행할 필요가 없다.정규분포는 양끝값이 없나..? 그래서 min값과 max값이 너무 멀리 떨어져있나?? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
데이터 분류과정에서 코드 질문
X_train, X_test,y_train, y_test= train_test_split(iris_data.data, iris_data.target, test_size=0.3, random_state=121) 를 이용해서 데이터를 분류하는데 이때 X_test, X_train이 학습용 피쳐값인지 테스트용 피쳐값인지 구분을 하는 메커니즘이 뭘까요? 위치로 구분을 하는 것인가요??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
교차검증 메소드 질문드립니다.
안녕하세요강의를 복습하던 중 교차검증과 관련하여 궁굼한게 생겨 문의남깁니다. 교차검증을 통한 예측값을 산출할 때 cross_val_predict 메소드를 사용 하는 것으로 이해했습니다. 그래서 아래와 같이 코드를 만들었을 때 잘 동작했고요. y_cross_val_predict= cross_val_predict(model, X_train, y_train, cv=10, n_jobs=60) 근데 혹시 Test데이터에서도 가능한가 해서 데이터를 바꿔서 y_cross_val_predict= cross_val_predict(model, X_test, y_test, cv=10, n_jobs=60) 를 수행하니 코드는 문제없이 작동했는데 이 부분이 Test 데이터 셋에서 10개의 폴드로 나눠 교차검증을 한것으로 이해했는데 맞을까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
4.8 베이지안 최적화로 hyperparameter 튜닝
hp.uniform을 정규 분포라고 설명하셨는데 균일 분포인거죠?funtion 이름도 그렇고 funtion의 param도 평균과 분산이 아니라 최소, 최대값인 걸로 보아 균일분포같아서요.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
decisiontree 초기화 질문
for train_index, test_index in skfold.split(features, label): dt_clf.fit(X_train , y_train) 여기서 dt_clf은 반복문에서 fit이 실행될때마다 기존에 학습한 모델(데이터)을 지우고 새롭게 학습한 데이터만 갖고 모델을 만드는건가여?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
scikit-learn 1.0.2 버전 설치 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 맥 터미널에서 pip install scikit-learn==1.0.2 라고 치니다음과 같은 오류가 발생합니다..ㅜㅜ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
lightgbm 오류
lightbgm을 강의와 같이 설치한 후 주피터 노트북으로 버전 확인을 해보았더니 다음과 같은 오류가 뜨네요.. 해결방법이 있을까요?더해서 xgboost의 버전이 1.7.3이 문제가 되는건 아닌지 궁금합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
피미 인디언 당뇨병 예측 관련 질문
교수님 안녕하십니까교수님의 수업을 정말 즐기면서 듣고있는 AI빅데이터 전공 대학생입니다.교수님의 강의 피마 인디언 당뇨병 예측 편을 보고 여태 배운 것을 백분 활용하여 제 방식대로 따로 모델을 구현을 해보았는데요. 먼저 임신횟수와 Outcome을 제외한 나머지 column들에 있는 0 값들은 모두 결측치로 판단하고 평균 값으로 대체하였습니다.RandomForestClassifier 알고리즘을 사용하고 GridSearchCV 함수를 통해 best estimator를 추출였습니다.정밀도와 재현율이 동시에 높으면 좋지만 재현율이 증가하면 정밀도가 하락하는 현상(trade-off) 때문에 둘 중 하나를 선택해야 했고 이 피마 인디언 당뇨병 데이터 셋 같은 경우 병의 발견 목적으로 모델을 제작한다고 했을 때 실제로 당뇨병인데 모델이 당뇨병이 아니라고 예측하는 것이 치명적이라고 생각하여 정밀도 보다는 재현율을 중점적으로 보았습니다.그리하여 precision_recall_curve 함수를 통해 최적의 재현율과 F1_score얻은 threshold 값을 추출하였습니다. 제가 얻은 값은오차 행렬 [[72 28] [ 4 50]] 정확도: 79.22% , 정밀도: 64.10% , 재현율 92.59%, F1_Score: 75.76%임계값: 0.32212471005503873입니다. 오차 행렬을 보았을때도 한쪽에 치우쳐있는 불균형도 없다고 판단하였고 정밀도와 재현율 f1_score도 괜찮게 나왔다고 판단했습니다.임계값을 0.32212471005503873로 주었을 때 roc_auc_score는 0.82296이라는 1에 꽤나 근접한 수치를 얻었습니다.질문1:이런식으로 모델을 찾아가는 방식이 옳은 방식인지 궁금합니다.질문2:제가 선택한 모델을 사용한다고 한다면 매번 RandomClassifier로 fit한 model을 Binarizer을 통해서 threshold 값을 매번 지정해주어야 하는건가요? 애초에 처음 모델을 fit할 때 임계값을 제가 부여는 못하는 것일가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
5장 회귀 실습 2:캐글경연 주택가격 예측-Advanced Regression Techniques - 01 질문 있습니다😊
선생님 안녕하세요! 5장 회귀 실습 2:캐글경연 주택가격 예측-Advanced Regression Techniques - 01 을 듣다가 타겟 값인 Price를 로그 변환하여 정규 분포 형태로 변환하고, 피처들 중 숫자형 컬럼의 Null 값 데이터 처리 부분 코드를 다음과 같이 썼습니다. 그런데 결과가 사진과 같이 float64가 포함된 형태로 나왔습니다. 제가 어떤 부분에서 잘못한 건지, 그리고 어떻게 해야 선생님과 같은 결과가 나올 수 있나요?ㅎㅎ# SalePrice 로그 변환original_SalePrice = house_df['SalePrice']house_df['SalePrice'] = np.log1p(house_df['SalePrice'])# Null이 너무 많은 컬럼들과 불필요한 컬럼 삭제house_df.drop(['Id', 'PoolQC', 'MiscFeature', 'Alley', 'Fence', 'FireplaceQu'], axis=1, inplace=True)# Drop하지 않는 숫자형 Null 컬럼들은 평균 값으로 대체num_columns = house_df.dtypes[house_df.dtypes !='object'].index.to_list()house_df[num_columns].fillna(house_df[num_columns].mean(), inplace=True)# Null 값이 있는 피처명과 타입을 추출null_column_count = house_df.isnull().sum()[house_df.isnull().sum() > 0]print('## Null 피처의 Type :\n', house_df.dtypes[null_column_count.index])