월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
LemNormalize 함수 관련 질문
안녕하세요 선생님. 먼저 좋은 강의 감사드립니다.함수 관련 질문이 있어 드리게 되었습니다. remove_punct_dict = dict((ord(punct), None) for punct in string.punctuation)def LemNormalize(text): return LemTokens(nltk.word_tokenize(text.lower().translate(remove_punct_dict)))여기에서 .translate(remove_punct_dict) 부분이 잘 이해가 되지 않아 질문을 드립니다! 이 부분이 stop_words를 제거하는 코드라는 것은 이해했으나, 어떻게 작동하는지 궁금하여 질문을 드립니다.감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
복습 방법 문의드립니다.
먼저 열정적인 강의에 감사드립니다.이번 강의 Accuracy편을 보면,class도 호출하고 함수도 많이 정의하고, 정의도 복잡하고..ㅎㅎ 먼가 뒤로 갈수록 코딩이 더 어려워지고 있다는게 느껴집니다.복습과 공부 방법을 어떻게 가져가면 좋을까요?외우는거 말고, 그냥 계속 한줄한줄 이해하면서 하는게 가장 빠른 길일까요?조언좀 부탁드립니다..
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹모델 예측성능 올리는 법
안녕하십니까.수업을 듣고 연습을 하던 중 문제가 생겨서 글 남깁니다.제가 Random Forest, LGBM으로 기기의 출력을 예측하는 과정을 하고 있는데 각각 단일 앙상블 학습보다 RF와 LGBM을 조합한 스태킹 학습을 통해 예측 성능을 높이려고 했는데 단일 앙상블 학습의 예측 성능이 MAE기준 1점 정도 더 높게 나왔습니다. 스태킹 학습을 통해 성능을 살짝만 올리면 원하는 목적에 달성할 수 있을 거 같은데 어떻게 하면 좋을까요?현재 RF, LGBM, XGB, Linear 회귀 알고리즘을 조합하여 도전을 해봤는데도 예측성능이 오르질 않네요 ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Series와 Print 질문
타이타닉 csv파일을 불러올때 변수명을 print문으로 출력해서 가져오면 Series로 값이 출력되고그냥 변수명을 입력에서 출력하면 dataframe 형태로 가져오던데 왜 다른거죠 궁금하네요
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선형회귀 모델을 위한 데이터변환
안녕하십니까! 선생님선형회귀 모델을 위한 데이터 변환에서 스케일링을 한 데이터에 다시 다항 특성을 적용하여 변환을 적용해준다고 하셨는데 , 이때 다항 특성을 적용하는 이유가 다항 회귀 곡선으로 표현한 것이 더 예측성능이 높기 때문에 적용을 해주는 것인지? 또 다항 특성을 적용했을 때 무조건 성능이 올라 가는 것이 아니라 과소적합이나 과대적합의 위험성도 있는지 궁금합니다!
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
하이퍼 파라미터 튜닝 관련 질문 드립니다
안녕하세요 선생님. 좋은 강의 감사합니다.다름이 아니라 혹시 회귀의 경우도 hyperopt를 사용하여 하이퍼 파라미터 튜닝이 가능한지 궁금하여 질문을 드립니다.강의에서 다뤄주지 않으셔서 질문 드립니다!
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
강의 마지막 부분 모델 성능 관련 질문
안녕하세요 선생님. 먼저 좋은 강의 감사드립니다.제가 질문을 드리는 이유는 다름이 아니라 모델을 선택하는것과 관련되어 질문이 있어 드립니다.강의 마지막 정도 부분에 데이터 셋마다 좋은 성능을 나타내는 모델들이 다를 수 있다고 하셨는데, 그러면 예를 들어 아래와 같이lr_reg = LinearRegression()ridge_reg = Ridge(alpha=10)lasso_reg = Lasso(alpha=.01)rf_reg = RandomForestRegressor(n_estimators=500)gbm_reg = GradientBoostingRegressor(n_estimators=500)xgb_reg = XGBRegressor(n_estimators=500)lgbm_reg = LGBMRegressor(n_estimators=500)이렇게 모든 모델 객체를 반복문을 통해서 다 성능을 한 뒤에, 가장 좋은 성능을 보인 모델의 하이퍼 파라미터를 조정해서 더 성능을 높이는 방향으로 가야하는 것인가요? 제가 아직 머신러닝의 전체적인 과정에 대한 지식이 부족해 이렇게 질문을 드립니다.감사합니다:)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
3차 다항식 만들기
선생님! 다항회귀공부하면서 코드에 3차 다항식을 만들 때 y = 1 + 2*X[:,0] + 3*X[:,0]**2 + 4*X[:,1]**3저기 [:,0] 이부분은 식에 왜 해주는 건가요??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
precision_recall_curve() 관련 질문드립니다.
안녕하세요, 좋은강의 감사합니다. precision_recall_curve() 함수를 이용해서,y값과, 예측 값을 넣어주었을때리턴되는값이 정밀도, 재현율, thresholds 값이 반환이 되는것으로 확인했습니다.여기서 궁금한 부분이 thresholds값의 변화는함수에서 임의로 진행 되는것 일까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
CSR 구현 시 0이 아닌 데이터의 row가 비규칙적으로 존재할 때?
안녕하세요 선생님!CSR 형식이 행 위치 배열 내에 있는 고유한 값의 시작 위치만 다시 별도의 위치 배열로 갖는 변환 방식이라고 설명해주셨는데, 0이 아닌 데이터의 row가 비규칙적으로 존재할 때는 CSR 방식을 쓸 수가 없나요? 쓸 수 있다면, 행위치 배열의 고유값 시작 인덱스 배열 뿐만 아니라 각 고유값이 무슨 값인지(몇번 째 행인지)에 대한 정보도 다른 곳에 저장되어 있는건지 궁금합니다! 예를들어, COO 방식으로 구현 시 행위치 배열이 [0, 0, 5,5,5,5,6,6,6,6,6] 일 때, CSR 방식에서는 행위치 배열의 고유값 시작 인덱스 배열이 [0, 2, 6] 일텐데 해당 정보만으로는 3행으로 이루어진 밀집행렬로 유추할 위험이 있을 것 같아서요!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요 선생님 질문입니다!
선생님 안녕하세요 알고리즘을 공부하고 다시 들으니 이해가 더 잘 되는 것 같습니다. 이제 막 분류에 대한 마지막까지 들었는데 제가 이해한 부분이 맞는지 모르겠습니다. 결정트리는 머신러닝의 한 방법이다.정확도를 높이기 위해서 앙상블 기법(여러가지 머신러닝을 섞거나, 데이터를 부트스트래핑 등)을 쓴다.대표적인 앙상블 기법으로는 배깅과 보팅, 부스팅이 있는데, 배깅에서는 여러가지 결정트리로 되어있는 랜덤포레스트 방식, 보팅은 서로 다른 머신러닝들로 학습하는 것, 부스팅은 약한 분류기를 순차적으로 학습하면서 전에 학습했던 특정데이터에 가중치를 두어 점차적으로 학습하는 방식스태킹은 분류된 데이터를 가지고 다시 한번 하나의 머신러닝 기법으로 학습한다. (하지만 학습에 테스트데이터를 쓰기때문에 오버피팅이 발생)이 정도로 머릿속으로 정리를 했는데 틀린 것이 있는지, 또는 보팅을 할때 다른 머신러닝 여러개와 결정트리 여러개 로 구성된 앙상블 모델도 랜덤포레스트라고 부를 수 있는지가 궁금합니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
강의 (3:38)에서 GridSearchCV 관련 질문
안녕하세요 선생님. 먼저 좋은 강의 감사합니다.다름이 아니라 제가 GridSearchCV를 통해 랜덤 포레스트 코드를 실행하였는데 제가 첨부한 사진과 같은 오류가 나왔습니다.결과는 문제 없지 나왔지만 어떤 부분에 문제가 생겼는지 궁금하여 질문을 드립니다.제가 예상하기로는 선생님의 get_human_dataset()에서 y_train이 데이터 프레임 형식으로 추출이 되는데, 여기서는 시리즈 형태 혹은 ndarray 형태로 넣어야 되는 건지 추측을 해봅니다.감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
feature selection
안녕하세요, 선생님4장의 feature selection 강의 내용에서 질문이 있습니다.feature selection 하는 방법 중 가장 많이 사용하는 방법인 모델의 피처 중요도를 기반하는 방법인데 여기서 트리계열을 이용할 때는 지니지수를 통한 불순도에 따라 나오는feature_importance로 피처 중요도를 확인해 피처 선택, 회귀를 이용할 때는 회귀계수를 통한 피처 중요도를 확인해 피처 선택한다고 강의에서 들었습니다. 궁금한점'왜 feature importance는 절대적인 featue selection 기준이 될 수 없는가?'에서 그 이유들이 나와있는데 이것들이 트리계열의 feature_importance를 이용한 피처 중요도를 확인해 피처 선택만 말씀하시는 건지 or 트리계열의 feature_importance를 이용한 피처 중요도를 확인해 피처 선택+회귀계수를 이용해 피처 선택(selectfrommodel 실습에서 lassocv 모델을 통한 회귀계수를 이용해 피처 선택함) 두 가지 경우 다 말씀하시는 건지 궁금합니다.질문이 조금 이상할 수 있는데, 트리 계열의 feature_importance는 최적 트리를 만들기 위해 불순도 기반의 기준으로 피처 선택이 되기 때문에 모델 성능을 위한 피처 기준과 다를 수 있는 것은 이해했습니다만, 그렇다면 회귀계수를 이용한 feature selection 방법도 절대적인 feature selection 기준이 될 수 없는건가요? (있는건가요?)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
하이퍼 파라미터 튜닝 범위
안녕하세요! 수업 잘 듣고 있습니다.제가 지금 질문이 생긴 범위는 xgboost나 lightgbm들 하이퍼 파라미터 튜닝시 max_depth나 min_child_weigh등 각각의 범위를 지정해주는데 (ex) 학습률이나, hp.quniform('max_depth',5,20,1) 이런 범위들은 문제마다 다르게 설정해주어야 하는건 알겠는데 제가 나중에 새로운 문제를 혼자 풀 때 어떤수치를 보고 파라미터 범위들을 설정해주어야하는 걸까요??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
numpy.random.default_rng/hyperopt버젼
안녕하세요, 권철민 강사님!강의 잘 듣고있습니다~1.4.9_ 분류실습_산탄데르_고객만족예측 실습 중에numpy.random.default_rng()를 사용하셨는데 default_rng() 를 사용하신 이유가 있으실까요? 이건 어떤때 쓰는게 좋은건가요? 2.저는 코랩을 쓰고 있는데, hyperopt는 실행이 안됩니다. 이전에 답변을 보니 넘파이와 hyperopt의 버젼 문제일거라고 하셨는데, 코랩에서 버젼을 바꾸어야 할까요? 현재 버젼은 다음과 같습니다.hyperopt(0.2), np(1.22.4)감사합니다!
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
[질문] 파이썬 머신러닝 완벽 가이드 교차검증-2 강의내용
for train_index, test_index in kfold.split(features): # kfold.split( )으로 반환된 인덱스를 이용하여 학습용, 검증용 테스트 데이터 추출 X_train, X_test = features[train_index], features[test_index] y_train, y_test = label[train_index], label[test_index] 제가 이 코드를 이해한 순서대로 써보겠습니다.kfold.split(features)를 하게 되면 feature값을 k개의 fold로 split 해줌for문에 의해 train_index, test_index가 그 fold를 순회하면서 인덱스를 받음(?)이정도까지 이해했는데 제가 이해한바로는 150개의 feature를 5개의 fold로 나누고 f f f f f그 나눠진 f 하나마다 70% train, 30% test로 다시 나눠지는 걸로 이해했는데 for문을 저렇게쓰면 어떻게 인덱스가 매겨지는지 도무지 이해가 잘 안됩니다...첫번째 fold에서 21개의 train(0~19), test(20~29) 이렇게 나눠지고두번째 fold에서 21개의 train(30~49), test(50~59) 이런식으로 된다는건지... 파이썬에 대한 이해부족인 것 같아서 For문에서 변수2개인 상황을 검색해봤는데 그거랑 이거랑은 Kfold 때문에 매치가 잘안되는상황입니다.답변부탁드립니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
다차원 데이터 군집화와 시각화에 대해 질문드립니다
안녕하세요, 현재 군집화까지 강의를 수강한 학생입니다. 다차원 데이터에 대한 군집화를 하려면 어떤 아이디어가 있을지 궁금하여 질문드립니다. 여태까지 배운 내용만 가지고 생각해보면차원축소를 최대한 잘 하여3차원까지 줄여서 3차원공간에 나타내 클러스터링을 할 수 있을것같은데 혹시 4차원이상 데이터의 클러스터링도 가능한지, 관련된 레퍼런스가 있는지 궁금합니다!감사합니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
hyperopt를 이용한 하이퍼파라미터 튜닝
선생님, 안녕하세요. hyperopt 파트 공부하다가 의문점이 있어서 글을 남깁니다. page. 264 코드에서 xgb_clf = XGBClassifier()로 모델을 선언하는 부분에서 eval_metric='logloss'를 넣는 이유가 궁금합니다. eval_metric='logloss'를 안쓰고 나머지 코드만 돌려도 잘돌아가고, 뒤에 산탄데르 실습 page 272에서는 eval_metric='auc'를 안쓴걸로 확인이 되는데이전에 xgboost 버전 업그레이드 전 warning 메시지를 없애기 위해서 넣은것 같다고 생각을 하고있습니다. 현 버전에는 모델 선언시 eval_metric를 안써도 잘 돌아가는데 제가 생각하는게 맞는건가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
XGBoost
선생님 강의 덕분에 머리 속에 정리 안되는 개념들이 하나씩 정리되고 있습니다.XGBoost 파트에서 파이썬 래퍼 XGBoost와 사이킷런 래퍼 XGBoost로 나눠지는데 early_stopping_rounds를 설정해서 결과를 보면 파이썬 래퍼의 경우 [0] train-logloss:0.65016 eval-logloss:0.66183 [1] train-logloss:0.61131 eval-logloss:0.63609 [2] train-logloss:0.57563 eval-logloss:0.61144 이런식으로 학습데이터에 대한 logloss와 검증데이터에 대한 logloss값을 확인 할 수 있었습니다. 사이킷런 래퍼의 경우[0] validation_0-logloss:0.65016 validation_1-logloss:0.66183 [1] validation_0-logloss:0.61131 validation_1-logloss:0.63609 [2] validation_0-logloss:0.57563 validation_1-logloss:0.61144 오른쪽에 있는 valiation_1-logloss로 살펴보는데,왼쪽에 있는 valiation_0-logloss는 파이썬 래퍼와 마찬가지로 학습데이터에 대한 logloss인가요? validation_0-logloss는 어떤 경우에 보는지 궁금해서 여쭤봅니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
하이퍼 파라미터 튜닝 범위에 대해 궁금합니다.
안녕하세요 강의 너무 잘듣고 있습니다덕분에 좋은 강의 들으며 실력이 증가하는걸 느끼고 있습니다.다름이 아니라 제가 캐글에서 데이터를 따와서 프로젝트를 하고 있는데 베이지안 최적화 방법을 통해서 하이퍼 파라미터를 튜닝하고 있는데 오히려 성능이 떨어지는 모습을 보입니다모델은 radomforest, xgboost, lightgbm 이렇게 쓰고 있고 randomforestn_estimators : 1000~2000, 100간격max_depth : 5~15, 1간격min_samples_split : 10~20, 1간격xgboost n_estimators : 1000~2000, 100간격max_depth : 5~15, 1간격learning_rate : 0.01~0.2min_child_weight : 8~20, 1간격lightgbmn_estimators : 1000~2000, 100간격num_leaves : 31~100, 1간격learning_rate : 0.01~0.2min_child_samples : 20~100, 1간격이렇게 해서 돌리는데 randomforest는 성능이 더 떨어지고 나머지 두 모델은 조금은 좋아졌지만 효과가 미비합니다.학습 데이터가 2만 6천개 정도인데 말단 노드가 가지는 최소 개수를 늘려야 할까요??계속 범위를 바꾸면서 하고 있는데 어느정도로 해야하는지 감이 오질 않습니다. 답변해주시면 감사하겠습니다