월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
random_state(seed값) 질문드립니다
모델마다 random_state값을 설정해주는데 (예를들어 train_test_split 에서) random_state이 바뀔때마다 모델도 약간바뀌는데 이때 모델이 너무민감하게 반응하여 결과가 다르면 어떻게 해결해야 되나요? 이문제를 cross-validation으로 해결하는건가요?
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
학습된 모델 저장 질문
강사님 안녕하세요? 좋은 강의 항상 감사드립니다. 코로나 시국에 상황이 쉽지 않음에도 온라인상으로 이렇게 양질의 교육을 듣고 실습하고 sharpen the saw 할 수 있음에 소소한 행복을 느끼며 강의 수강하고 있습니다. ^^ 학습된 모델을 저장하는 방법에 대한 질문을 드립니다. 본 단원에서 다양한 모델들을 결합해서 우수한 모델을 만드는 것을 학습하였는데요, sklearn 에서 지원하는 다양한 머신러닝 알고리즘 (Decision Tree, RandomForest, LinearRegression, Lasso, Ridge 등) 이나, xgboost, lightgbm 등을 통해 최선의 모델을 학습시킨 경우에, 해당 모델을 저장해서 추후에 불러와서 사용할 수 있는 기능이 있는지.. 문의드립니다. (예측하고자 할 때마다 모델 학습을 시키는 것이 아닌) 예를 들어 tensorflow 의 keras 에서는 model.save()나, model.load_model() 과 같은 메소드를 지원해서 간편하게 저장하고 불러올 수 있는데, 유사한 기능이 본 단원에서 다루어진 다양한 머신러닝 알고리즘 모듈에서도 지원이 되는지.. 궁금합니다. 또한, 해당 알고리즘을 파이썬 software 가 아닌 일반 사용자 환경에 이식하기 위해서는 어떤 방법이 가능할지.. 이러한 구현을 위해 제가 어느 부분 (라이브러리?) 공부해 보아야 할지도 자문을 구해 봅니다. (예를 들어 학습된 모델을 생산라인의 설비에 이식을 할 때.. 실행파일 등으로 파이썬이 설치되지 않은 PC 에서 실행할 수 있도록 하는 방안 등) 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
threshold 질문드립니다.
선생님 강의 덕분에 빅데이터 분야를 좀 더 효율적이게 공부할수 있어서 감사드립니다. 다름이 아니라 precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 ) 에서 임계값에 따른 precisions, recalls 이 반환 된다고 하셨는데 그렇다면 반환될때 threshold 갯수와 precisions, recalls의 개수가 같아야하지 않나요? 즉 threshold가 143개이면 그에따라서 rcalls와 precisions의 개수도 143개가 되야하는거 아닌가요? 왜 threshold가 143개일때 recalls와 precisions의 개수가 144개 인지 잘모르겠습니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
BaseEstimator 질문드립니다 !
선생님 MyDummyClassifier 에서 BaseEstimator의 역할이 궁금합니다.. 아무리 검색해도 잘모르겠네요 ㅠ 그리고 fit 메서드는 아무것도 학습을 하지 않는데 굳이 학습/검증 세트로 나눈다음 fit(X_train, y_train) 을 수행한 이유도 잘모르겠습니다 ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
BaseEstimator 함수에서 질문드립니다
def fit(self, X, y= None) 에서 y= None 은 무엇을 뜻하나요? my.fit(X_train, y_train) 은 위 함수에서 어떤 매개변수를 받은건가요??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님 타이타닉 인코딩 질문드립니다!
타이타닉에서 인코딩할때 기존의 선생님이 transform을 하는방식이 아닌 apply를 이용해서 한번 시도 했는데 이건 왜 값이 출력이 안되나요?? ㅠ 만약 apply를 사용해서 출력할려면 어떻게 코딩해야할까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
산탄데르 데이터의 precision과 recall
안녕하세요 강사님 산탄데르 데이터와 신용카드 데이터를 실습해보며 질문이 생겼습니다 신용카드 데이터는 precision과 recall이 나쁘지 않게 나오는데 산탄데르 데이터에 대한 precision과 recall은 아래의 결과와 같이 굉장히 안좋습니다 원인이 무엇인가요?? 개선할 수 있는 방법이 있나요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
회귀실습1 강의 관련 질문
안녕하세요, 회귀실습 1 강의에서 Target만 히스토그램을 그리고 로그변환했는데, 피처값은 로그변환 하지 않는 별도의 이유가 있으신가요? 강의 말미에 타겟값의 정규분포가 중요하다고 하셨는데, 피처들의 skewness는 스코어에 큰 영향을 주지 않는 것 인가요? 아니면 피처도 모두 EDA해보고 skewed 되어있으면 전부다 로그 변환하는게 좋은가요?
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
Ridge, Lasso vs. 데이터 표준화, Stepwise 관련 질문
강사님, 좋은 강의 그리고 좋은 답변 항상 감사드립니다. 규제가 들어가는 선형회귀 방법과 통계적 접근 방법에서의 회귀분석 간의 차이를 이해해 보고자 질문을 드리고 있습니다. 1. Ridge & 데이터 표준화 관련 질문 Ridge 는 결국 회귀계수가 상대적으로 큰 변수의 민감도를 줄임으로써 해당 변수의 값이 좀 많이 달라지는 new sample 들의 추정치에 대한 overfit risk 를 줄이는 방법으로 이해가 되는데요, 종속변수와 의 상관성을 가지는 변수 중에서도 특히 value 의 scale 이 다른 변수에 비해서 월등히 작은 독립변수의 경우 .. 예를들어 NOX 의 경우 Price 와 상관관계가 있으면서도 scale 이 다른 독립변수에 비해 월등히 작다 보니 회귀 계수가 반대급부적으로 커지다 보니 Ridge 에 의해 패널티를 받아 버리는 상황이 생기는 것이 아닐까.. 생각도 드는데요, 이런 경우에는 처음부터 Ridge 를 적용하기 보다는 회귀분석을 하기 전에 데이터 표준화나 Min-Max scaling 등을 통해서 사전처리를 한 다음에 그럼에도 불구하고 회귀 계수가 아주 큰 경우라면 Ridge 를 적용해 보는 순서로 분석하는 것이 필요하지 않을지.. 문의드립니다. (Scale 이 큰 변수가 억울하게(?) 페널티를 받는 상황이 생기지 않을까.. 생각이 들어서 입니다.^^;;) 그리고 scale 이 모두 동일한 상태인 경우일지라도, 기여도가 dominant 하게 큰 인자의 기여도를 강제적으로 낮추는 best fit 모델을 찾아내는 방법이 Ridge 라면 , 물리적으로 기여도가 높은 인자에 대한 페널티가 주어짐으로 인해 모델 성능 (R2 나 MSE 기준 ) 이 저하될 가능성이 있는 것은 아닐지.. 도 문의드립니다. 2. Lasso vs. Stepwize 비교 질문 Lasso 을 적용하면 결국 불필요한 변수의 회귀계수를 0으로 만들어 해당 변수를 제외시키는 결과를 얻게 되는데요, 통계적 회귀분석 방법 중 p-value 등을 기준으로 변수를 포함했다 제외했다 해 가면서 adjusted R2 value 등을 극대화하면서도 유의성이 떨어지는 변수들을 오차항에 모두 pooling 시키는 stepwise 방법이 결국 Lasso 와 유사한 방법이라고 이해하면 될지.. 문의 드립니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님 붓꽃데이터 질문합니다ㅠ
선생님 항상 강의 잘듣고 있습니다..! 코로나 조심하시구요 다름이 아니라 붓꽃데이터를 공부하다가 의문이 생겨서 질문 드립니다. 붓꽃데이터 예측할때 train_test_split로 데이터를 train과 validation 으로 나눠서 predict(y_test) 한거는 실제데이터에 비교해서 나온 예측값이 아닌거죠?? 즉 붓꽃데이터의 train파일의 모델학습값인건가요?? 실제 test에 대입한 예측값이 아니라?? ㅠ 이부분이 좀 혼동스럽네요..ㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
결과 해석
강사님! 좋은 강의 감사합니다! 고객 데이터를 RFM 기반으로 군집화하였는데, 그 결과를 어떻게 해석하는지가 궁금합니다. 이 부분이 실무에 가장 핵심인 것 같은데, 그 부분까지는 다루지 않은 것 같아서 조금 아쉽네요 ㅠㅠ 질문1) 시각화 된 그래프를, 즉 군집화된 그룹들을 어떻게 해석할 수 있는 건가요? 가령, clustering1 그룹 = '많이 구매했지만, 최근 구매 이력이 없는 사람' clustering2 그룹 = '적게 구매하지만, 자주 구매하며, 최근 구매 이력이 있는 사람' 이런식으로 해석할 수 있어야할 것 같은데, 강의에서 다룬 부분은 딱 그 전까지만 실습을 해서,, 결과물로 나온 그래프를 가지고 어떻게 해석해주어야 할지 문의드립니다! 질문2) 특히 로그변환 후 재 시각화한 경우에는, 어떻게 해석하는지가 궁금합니다! 항상 감사합니다! 건강하세요!
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
[Stacking Model] 메타모델에 input 되는 데이터의 다중공선성 문제 질문
강사님 안녕하세요? 정말 좋은 강의 감사드립니다. 매 단원마다 도움을 많이 받고 있습니다. 본 단원에서 두 가지 질문이 있는데요 1. 메타모델의 input 이 되는 데이터들이 맨 아래 캡쳐 그림과 같은 형태가 된다면, 결국 어떤 기반모델들을 사용하던지 input 변수간 아주 강한 다중공선성 문제가 항상 생기게 될 텐데요, PCA 등으로 다중공선성 문제를 해결한 상태로 메타모델에 데이터를 input 할 필요는 없을지 문의드립니다. 사례에서 사용된 Logistic Regression 도 activation function term 을 제외하면 linear regression 과 유사한 개념으로 생각되는데요, 다중공선성이 강한 독립변수로 사용했을 때 모델의 신뢰도가 떨어지는 문제가 동일하게 생기지 않을까 생각도 되어서... 입니다. 2. 만약 전체 데이터셋을 Training / Validation / Test 데이터셋으로 삼중 분할 했다면 stacking 모델을 만들때 기반모델은 training set 으로 fitting 하고, Meta 모델을 fitting 할 때는 기반 모델에 validation set data 를 넣어서 예측된 output 들을 독립변수로 사용해야 하는 것인지요? 만약 training dataset 에 의해 예측된 output 들을 Meta 모델의 독립변수로 사용하게 되면 기반모델들의 온전한 성능을 표현하지 못하는 데이터로 메타모델을 fitting 하게 되기 때문에 (실제보다 마치 더 잘 맞는 것처럼 보이는 - overfitting) 메타모델의 실제 성능이 더 떨어질 가능성이 있고, 그래서 기반 모델에 validation data set 을 넣어서 얻은 output 들을 가지고 메타모델을 학습시켜야 하는 것으로 이해하면 될지요? 동일한 질문이지만 그냥 training dataset 만으로 기반모델과 메타모델을 모두 학습시키면 예측성능이 떨어진다고 간단히 이해하면 될지요? 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님, 질문있습니다!
선생님, 안녕하세요^^ 먼저 이번에 제가 ai대학원에 합격을 했습니다!! 그래서 선생님께 참 감사드립니다ㅎ.ㅎ 그래서 조금 더 머신 러닝에 대해 깊게 방학 동안 공부를 하고 싶습니다. 많이들 추천하는게 크리스토퍼 비숍의 PRML이던데 선형대수학이랑 통계를 선수 공부해야 한다고 하더라구요 선형대수학은 유튜브에도 많이 올라와 있으니까 참고가 될 듯 한데 여기서 머신러닝을 두고 말하는 통계는 어떤 통계를 말하는 것인지 궁금합니다 고등학교 때 이항정리부터 확률분포, 연속확률변수, 정규분포 등 이쪽을 말하는건가요?? 감사합니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
질문드립니다.
최근에 강의를 두번째로 다시 보고 있습니다. 아직도 많이 모자르지만, 캐글필사와 함께 하고 있습니다 :) 다름이 아니라 제가 드리고 싶은 질문은 LinearRegression에서 입력 파라미터인 fit_intercept(절편)이 왜 영향을 미치는지 궁금합니다. 감사합니다:)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
타이타닉 예제에서 kfold 관해 질문있습니다
안녕하세요! 타이타닉 예제에서 kfold 교차검증을 수행할때 전체 데이터를 가지고 train/test 데이터를 나누어 성능을 평가하셨는데 교차검증은 train 데이터 내부에서 이루어지는거 아닌가요? train_test_split으로 나눠진 train 데이터를 가지고 그 안에서 다시 교차검증을 위한 train/test를 나누어야한다고 이해했는데 데이터 부족으로 인해 이렇게 적용하신건지 궁금합니다! 뒤의 GridSearchCV에서는 train_test_split으로 나눠진 train 데이터를 fit하고 테스트 데이터에서 정확도가 87.15%로 향상되었다고 하는데 앞의 kfold는 교차검증정확도만 존재하고 예측여부를 확인할 test세트가 존재하지 않았으니 비교할 수 없지 않나...? 하는 의문이 생겨 질문 남깁니다. 항상 좋은 강의 감사합니다:)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
학습 방법 문의 드립니다.
욜로나 레티나넷 등을 이용하여 사진이나 영상 분석을 하고 싶습니다. 최종적인 목표는 사진 혹은 영상의 특정 부분을 구분하는 것입니다. (ex. 여러 개의 사진 혹은 영상 중 사람이 있는 것과 없는 것을 판단하여 사람이 있는 영상(사진)과 사람이 없는 영상(사진) 구분하기) 제가 머신러닝을 한번도 공부한 적이 없어서 어떤 방식으로 공부를 해야 좋을지 갈피가 잡히지 않습니다. 컴퓨터공학 전공이고 웹 프로그램을 업으로 삼고 있기는 하지만 통계학은 한번도 접해본 적이 없고, 수학은 20여년 전 고교 졸업 후 해본적 없습니다. 파이썬 역시 아주 가벼운 프로그램을 작성해 본 경험만 있습니다. [파이썬 머신러닝 완벽 가이드] -> [딥러닝 컴퓨터 비전 완벽 가이드] 순서로 강의를 볼 계획이고 현재 [파이썬 머신러닝 완벽 가이드]의 5장의 회귀를 공부하고 있습니다. 처음에 영상만 보다가 이해하기가 힘이 들어 교재를 구매해 함께 보면서 스터디 중입니다. [파이썬 머신러닝 완벽 가이드]를 완강한 후 [딥러닝 컴퓨터 비전 완벽 가이드]를 시작해야 하나요? 또한, 강의와 질문-답변들을 보면서 100% 이해한다기 보다는 어렴풋하게 개념을 잡고 간다는 생각으로 공부를 하고 있는데 이게 맞는지도 궁금합니다. 소소 코드는 최대한 이해하려고 노력하고 있습니다. 마지막으로 추천해 주시고 싶은 다른 강의나 책, 사이트가 있으시면 같이 보겠습니다. 감사합니다. 참고로, 두 달 전 머신러닝 스터디를 시작할 때 1. [파이썬 머신러닝 완벽 가이드] 의 3장 평가까지 완강 2. [딥러닝 컴퓨터 비전 완벽 가이드] 의 욜로 부분을 보면서 강의에 나온 소스로 테스트 성공 3. 리눅스 서버에 욜로5 설치 후 테스트 실패 - (https://datacook.tistory.com/60 사이트를 참조하여 학습을 시키고 학습이 잘 되었는지 테스트를 하는데 원하는 결과를 얻지 못했습니다.) 의욕만 많아서 급하게 테스트를 하니 디버깅 하기도 어렵고 어디서 어떻게 손을 봐야할지 잘 모르겠어서 다시 천천히 [파이썬 머신러닝 완벽 가이드] 를 공부하고 있는 중입니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
시계열 회귀 예측 시 교차검증 후 예측값과 단순한 예측값 차이 여부 질문드립니다!
안녕하세요! 이전에 강의를 들었던 학생인데 갑자기 궁금한 점이 생겨서 질문드립니다!(구글링에 어떤 키워드로 검색해야 할지 몰라서 여기다가 남겨요~!) 현재 시계열 예측 회귀문제를 다루고 있는데요! 시계열 교차검증을 수행하면서 모델의 예측 성능 테스트를 하다가 문득 궁금한 점이 들었습니다. 질문을 쉽게 설명드리기 위해서 간단한 예시하나만 들겠습니다! 예를 들어, 2021-01-01 ~ 2021-05-31일까지의 학습 데이터가 존재합니다. 이 때 예측하려는 것은 2021-06-01일의 값입니다. 이를 해결하기 위해 시계열 예측 모델을 만들고 다음과 같이 시계열 교차검증을 수행했습니다. Scikit-learn 의 TimeSeriesSplit 에서 n_splits=10, test_size=1 로 설정하고 10개로 분할하고 검증 데이터 사이즈는 1일 치로 설정했습니다. (참고로 for 문을 돌면서 모델을 초기화했습니다! ex. lr_reg = LinearRegression() 이런 식으로 계속..) 예를 들어... 1번째 CV) 2021-01-01 ~ 2021-05-21 기간의 데이터 학습 -> 2021-05-22 데이터 예측함으로써 검증 2번째 CV) (1번째 이후 모델 초기화 후) 2021-01-01 ~ 2021-05-22 기간의 데이터 학습 -> 2021-05-23 데이터 예측함으로써 검증 ... 반복 10번째 CV) (9번째 이후 모델 초기화 후) 2021-01-01 ~ 2021-05-30 기간의 데이터 학습 -> 2021-05-31 데이터 예측함으로써 검증 위와 같은 교차검증 방법으로 모델링을 한 후 최종적으로 예측하려는 2021-06-01 의 데이터를 예측했을 때의 예측 값(A)를 얻었습니다. 그리고 위와 같이 시계열 교차검증 방법을 하지 않고 단순히 2021-01-01 ~ 2021-05-31 데이터를 한번에 학습시키고 2021-06-01 의 데이터를 예측했을 때의 값(B)를 얻었습니다. 이 때, A와 B 값은 동일한가요? 즉, 학습 데이터 기간은 둘 다 동일하되 A값을 얻을 때 처럼 시계열 교차검증을 하면서 모델링 되는 모델의 파라미터값과 B값을 얻을 때 처럼 한 번에 모든 기간의 데이터를 학습시켜 모델링 되는 모델의 파라미터값 간의 차이가 존재하나요? 사견으로는 TimeSeriesSplit for loop를 돌면서 모델을 초기화시켰기 때문에 파라미터도 초기화되었을 것 같아 A, B 두 예측 결과 값이 동일할 것으로 예상되는데.. 선생님의 의견이 궁금해서 질문 남깁니다! 긴 질문 읽어주셔서 감사합니다 :) 선생님의 다른 강의들도 많이 보고 앞으로도 많이 보려고 합니다! 더 많은 강의 다루어주시면 감사하겠습니다~!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
여러 샘플마다의 데이터 편차를 수학적으로 정규화할 수 있나요?
안녕하세요. 이물 검사를 하고 있는데, 클래스가 3가지 정도가 있습니다 훈련하고, 모델을 가지고 추론했을 때 score_map이라는 것을 출력으로 갖게 됩니다. 그런데 클래스에 따라서 출력되는 score_map의 범위가 다르게 됩니다. 일단은 score_map의 출력 과정을 수정하기 보다는 후처리를 잘 해보려고 하는데 문제는 score_map을 찍어보면 위에서 말씀드릴 것처럼 출력 범위가 7, 18 등 범위가 클래스마다 다르게 됩니다 물론 이를 각 score_map 행마다 표준화를 시킨 다음에 roc_auc로 threshold를 구한 후 마스킹을 하는데, 현재 마스크 threshold는 4가 됩니다 그런데 클래스 마다 표준편차가 차이나다보니까 표준화를 해도 (평균, 분산은 각각 0과 1) 2번째 히트맵에 그려진 에러는 잡지 못하더라구요. 최대 픽셀값이 4정도 됩니다 그래서 곰곰이 생각해보니 결국엔 각 클래스마다 편차가 다르다보니 threshold에 문제가 생겨가지고요. 혹시 편차를 정규화 시킬 수 있나요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
score(X_train, Y_train) 이부분 이해가 ㅠㅠ
logreg = LogisticRegression() logreg.fit(X_train, Y_train) Y_pred = logreg.predict(X_test) logreg.score(X_train, Y_train) which gives: 0.80471380471380471 I use to use this method instead to determine my model accuracy: from sklearn.metrics import classification_report logreg = LogisticRegression() logreg.fit(X_train, Y_train) y_pred = logreg.predict(X_test) print(classification_report(y_test, y_pred)) 선생님 score(X_train, Y_train)이부분이 이해가 가질 않습니다ㅠㅠ 어떻게 y_test없이 train세트만으로 정확도 측정이 가능한거죠?? 혼자 알려고해도 알수가 없네요ㅠ 자세한 답변 부탁드리겠습니다!!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
lambda 함수를 제외하고 get_category 함수를 적용하는 방법에 대해 알고싶습니다.
강의 코드에 나와있는 titanic_df['Age_cat'] = titanic_df['Age'].apply(lambda x : get_category(x)) 람다함수를 이용해 get_category 함수를 적용하는 방법 외에 다른 방법이 없을까 생각하여 get_category에 곧바로 titanic_df['Age']로 인자를 넣었더니 The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 라는 에러가 뜹니다. 해당 에러가 어떠한 것이 잘못되어 나타나는 것인지, 람다함수를 사용않고 다른 방법으로 titanic_df["Age_cat] 칼럼을 만들려면 코드를 어떻게 짜야할지 알고싶습니다.