월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
결정트리에서 graphviz로 해석하는 경우
강의를 듣던중 4.2_결정트리 jupyter에서 나타난 오류가 있어 질문드립니다. 아직 초보 수준에 있어서 위 내용의 에러를 보고도 해석이 어려운데요. 4강, 시각화로 이해하는 결정트리... 강의 내용중 tree.dot 파일을 읽어서 graphviz로 해석하는 부분이 있습니다. (영상 2:30) 강사님의 강의에 맞추어 jupyter에서 실행시켰는데.. 강의처럼 그래프가 뜨지않고 에러가 뜨네요. (이전에 지시하신대로 path에다가 graphviz까지 추가를 마친 상황입니다) 혹시 이럴땐 어떤 문제인지 알수있을가요? 에러메시지가 긴데. 이중 처음 시작 부분만 발췌하였습니다. FileNotFoundError Traceback (most recent call last) File c:\python38\lib\site-packages\graphviz\backend\execute.py:79, in run_check(cmd, input_lines, encoding, quiet, **kwargs) 78 kwargs['stdout'] = kwargs['stderr'] = subprocess.PIPE ---> 79 proc = _run_input_lines(cmd, input_lines, kwargs=kwargs) 80 else: File c:\python38\lib\site-packages\graphviz\backend\execute.py:99, in _run_input_lines(cmd, input_lines, kwargs) 98 def _run_input_lines(cmd, input_lines, *, kwargs): ---> 99 popen = subprocess.Popen(cmd, stdin=subprocess.PIPE, **kwargs) 101 stdin_write = popen.stdin.write File c:\python38\lib\subprocess.py:854, in Popen.__init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text) 851 self.stderr = io.TextIOWrapper(self.stderr, 852 encoding=encoding, errors=errors) --> 854 self._execute_child(args, executable, preexec_fn, close_fds, 855 pass_fds, cwd, env, 856 startupinfo, creationflags, shell, 857 p2cread, p2cwrite, 858 c2pread, c2pwrite, 859 errread, errwrite, 860 restore_signals, start_new_session) 861 except: 862 # Cleanup if the child failed starting.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
타이타닉/예측ML관련 질문드립니다.
안녕하세요, 선생님 수업 잘 듣고 있습니다. 앙상블까지 갔다가 복습겸 천천히 다시 보고 있는데, 타이타닉 관련해서 질문드립니다. 바쁘시겠지만 가능하시면 답변을 부탁드립니다..^^ 제가 이해한 바로는, < 예측 ML 순서>가 아래와 같습니다. 전체 데이터를 feature / label로 나눈다. 타이타닉의 경우 Survive 칼럼만 label이 된다. 전체 데이터를 train / test로 쪼갠다. 이것 때문에 K-fold나 Stratified K-Fold가 있다. Name등 숫자가 아닌 데이터 컬럼들은 버린다(drop). "train feature" - "train label" 의 관계를 머신이 학습한다. 머신이 "feature - train" 사이의 관계성을 유추한다. (사용자는 그 중간로직을 블랙박스처럼 알 수 없다.) 이제 "test feature"을 넣고 값이 뭐가 나오는 지 본다. 머신이 "유추한 test label"과 "진짜 test label"의 일치성을 확인해서, 머신의 유추로직이 정확한지 평가한다. (보통 이것은 accuracy 수치로 확인한다.) 질문의 요지는 1. 위의 프로세스가 맞을까요? 2. 위에서 머신의 추리를 쉽게하기 위해 (3) name 컬럼을 drop했습니다. 그 외에도 "데이터 전처리" 과정에서 불필요한 속성(정확히는 숫자가 아니어서 머신이 처리할 수 없는 속성)을 제거하게 되는데요, - 예측 ML을 돌린 후에, 저기 버렸던 속성들과 매칭해서 보려면 어떻게 해야할까요? (ex) 예측ML로 y_test(생존여부)를 추측한 뒤, 그들의 이름을 확인하고 싶습니다. 3. 애당초 저런 칼럼(name 등)들을 Drop하지 않고 ML에 넣을 수는 없을까요? train_test_split에 해당컬럼들을 제외하고 넣어보려했더니 에러가 발생합니다. 4. 저 예측 ML의 블랙박스와 같은 "중간 추론"을 알 수 있을까요? 예를들면, 좌석등급이 제일 유효했다거나, 성별이 제일 유효했다거나 하는 식으로 말입니다. 5. 저렇게 학습한 모델을 가지고, 답을 모르는 데이터셋에 집어넣어보려면 어떻게 해야할까요? (타이타닉으로 학습한 모델을, 생존여부를 모르는 "퀸엘리자베스호 승객" 데이터셋에 적용하고 싶다면요) 감사합니다. 좋은 하루 보내세요!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Mac vscode Hyperopt 무한로딩
다른 코드들은 지금까지 잘 작동했는데 Hyperopt 에서 fmin함수 코드 작성하고 실행하면 무한로딩이 되네요... 같은 코드로 코랩에서 실행했을 땐 문제가 없었는데 무엇 때문에 이런지 도움받을 수 있을까 싶어 글 남깁니다! 버전도 0.2.7버전 맞구요 vscode 재설치도 해봤습니다.... ㅜㅠ
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
학습 데이터와 원본 데이터
전체적으로 학습 데이터와 원본 데이터를 각각 어떻게 활용해야 하는건지 헷갈려 질문드립니다(원본 데이터라는건 train_test_split을 쓰기전 데이터를 의미하고 학습데이터는 train_test_split을 써 나눈 학습 데이터를 의미합니다!) 1. hyperopt의 목적함수를 만들 때 교차검증을 이용하여 조기중단을 수행하려 하는데 이때 교차검증을 나누는 과정에서 원본데이터를 이용하여 검증과 학습데이터로 나눠야 할지, 아니면 train_test_split을 이용해 이미 한번 나눴던 데이터를 넣어 또 다시 검증과 학습데이터로 나눠 수행해야 하는건지 잘 감이 잡히지 않습니다 어떤 방법이 최적의 머신러닝을 만드는데 더 옮은 방법인가요? 2. 강의를 기반으로 캐글에 모델 제출을 한번 해보려하는데, 모델을 최종적으로 구축할 때는 원본데이터를 학습시켜야 하나요? 아니면 train_test_split으로 나눈 학습 데이터를 학습을 시켜야 하나요?
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
원핫인코딩 관련 궁금증
안녕하세요. 강의 듣다가 궁금증이 생겨서 질문 드립니다. 이 Bike Sharing Demand 데이터 실습에서 원핫인코딩을 수행할 때, 인코딩을 먼저 수행 후 train과 test를 분리했는데, 실전을 포함해서 test 데이터가 이미 분리된 상태로 주어진 경우 도 많은 것 같아요. 근데 이럴 때 train과 test 각각 따로 인코딩을 수행하면 특정 칼럼에 대해 서로 없는 범주가 포함될 수 있을 것 같습니다. (예를들어 train에는 개/고양이만 있는데, test에는 개/고양이/원숭이 범주까지 있다던지..) 이 경우에 칼럼 갯수에도 차이가 발생할텐데 이때 모델 학습/예측시에 문제가 발생하지 않나요? 그렇다고 pd.concat 등으로 데이터를 합치고서 인코딩을 수행 후 다시 분리하면 데이터 리키징 문제가 발생한다고 들었습니다. (아니라면 말씀해주세요!) 머신러닝/딥러닝 강의 계속 잘 듣고 있습니다. 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
잠재요인 기반에서 normal함수 이용시
안녕하세요! 수업 잘 듣고 있습니다! P값 q값을 초기화해주는 부분에서, np.random.normal 함수를 이용할 때, scale = 1/K (K=잠재요인 개수)를 설정합니다. 여기서 scale을 이렇게 설정하는 이유가 궁금합니다. 정규화 또는 표준화하는 것으로 생각되는데, K는 단위와 상관이 없어 scale문제가 발생하지 않을 것 같은데, 이를 설정하는 이유를 알 수 있을까요
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
원핫인코딩 후 트리 계열 알고리즘으로 자전거 대여 수요 예측
원 핫 인코딩을 한 후 LinearRegression, Lasso,Ridge 등은 성능이 더 좋아졌지만 트리 계열 알고리즘 XGBoost,LightGBM, RandomForest 등을 원 핫 인코딩을 하기전과 후를 돌려보니 원 핫 인코딩을 하기 전 성능보다 후가 더 떨어지더군요 책에서 말씀하신 대로 datetime과 관련된 칼럼들은 개별 숫자값의 크기로 인식되서는 안되므로 원핫인코딩을 적용한 후 더 성능이 좋아야 하는거 아닌가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
<br> 태그 공백 변환 시 str이 필요한 이유에 질문드립니다.
review_df['review']의 타입을 조회해보니 pandas의 Series 형식임을 알게 되었습니다. 이에 바로 replace를 적용하지 않고 str 적용 후 replace를 적용하는 이유에 대해 여쭤보고 싶습니다. 항상 강의 너무 잘 듣고 있습니다. 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
로그변환과 평가지표에 대해서
캐글에 있는 빅마트 매출 예측 데이터를 해보고 있는데 타깃값의 histplot을 이용해 분포 형태를 봤는데 왼쪽으로 치우친 경우가 보여서 로그 변환을 해야겠다는 생각이 들었습니다 그런데 다른 분들이 짜신 코드를 보면 타깃값(매출)에 대한 로그변환을 해주지 않았더라구요 그래서 직접 타깃값을 로그변환 해서 예측을 해봤는데 하기 전과 후가 비정상적으로 차이가 났습니다(하기 전의 RMSE가 1000정도 나왔다면 하고 난 후 0.66) 매출 예측 데이터의 경우 타깃값을 로그 변환해주게 되면 값 자체의 단위가 훨씬 작아지기 때문에 오류 값의 범위가 훨씬 줄어들 수 밖에 없어서 신뢰할만한 평가 지표는 못 얻을거 같다는 생각이 들었는데, 책 370 페이지의 경우에는 로그변환을 한 후에도 RMSE가 162정도로 나와서 이 생각도 아니라는 생각이 들었습니다 ㅠㅠ 결론을 말하자면 빅마트의 매출 예측 데이터의 경우 왜 로그변환 후 비정상적으로 오류 예측값이 줄었는가 책 370페이지에 경우에는 로그 변환후 타깃값에 단위가 확 줄었는데 어떻게 오류 예측값이 RMSE : 162 ,MAE : 109로 크게 나올수 있는가 스케일링과 평가지표에 대해 제가 몇가지 빠트리고 이해를 한거같은데 아무리 검색해봐도 잘 모르겠습니다 ㅠㅠ 캐글 빅마트 매출 데이터 : https://www.kaggle.com/datasets/brijbhushannanda1979/bigmart-sales-data?datasetId=9961&sortBy=voteCount 아래 사진은 로그 변환후 histplot과 예측 성능,로그 변환 전 hisplot과 예측 성능입니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
라쏘 회귀
릿지 회귀에서는 alpha값이 1일때 NOX의 회귀값이 -10.77로 나왔는데, 라쏘회귀에서는 alpha값이 0.7일때 Nox의 회귀값이 다른 컬럼들의 회귀 계수값의 비해 특히 더 줄어 0을 띄는 이유가 궁금합니다 책에서는 L1 규제는 불필요한 회귀 계수를 급격하게 감소시켜 0으로 만들고 제거한다 라고 나와있는데 이것 때문에 Nox의 회귀 계수 값이 급격히 줄어든것이라면 L1규제는 어떤 지표를 보고 불필요한 회귀 계수를 판별하는것인가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Xgboost 설치 후 import시 에러 질문드립니다!
안녕하세요! m1 맥으로 선생님 강의를 열심히 들으며 실습하는 중에 Xgboost 관련해서 문제가 발생하여 문의 드립니다. 파이썬 버전은 3.9.12이고 ' $ conda install -c anaconda py-xgboost ' 명령어를 이용하여 xgboost(1.5.0)를 설치하였습니다. 근데 Jupyter notebook에서 'import xgboost'입력 후 실행하면 아래와 같은 에러가 뜹니다. 어떻게 해야 이런 난관을 극복할 수 있을까요? ㅜㅜ pandas 버전은 1.4.2 입니다.... 조언좀 부탁드리겠습니다! ========================================= + 추가 우선은 에러에 있는대로 xgboost/compat.py파일을 열어서 Int64Index를 Index로 수정했더니 에러는 안나고 import는 되네요 ㅎㅎ 뭔가 이게 해결책은 아닌것 같아 질문은 삭제하지 않고 내용 추가 해봅니다 ㅜㅜ
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
alpha
1. aipha값이 커지게 되면 회귀 계수 W가 커지는데 어떻게 과적합을 개선할 수 있는건가요? 회귀 계수가 커지면 오히려 과적합이 일어나야 하는거 아닌가요? 2. 회귀계수값은 어떤 값이 제일 이상적인건가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹 앙상블 코드 구현 중 오류 관련 건
안녕하세요.강의를 수강 중인 학생 이라고 합니다.강의를 쭉 수강하던 중에 4.10(코드엔 4.11) 스태킹 앙상블에서 수업을 따라서 코드를 수행해보던 중에4번째 "knn_pred = knn_clf.predict(X_test)" 부분을 실행하면 아래와 같은 오류가 발생을 하고 있습니다.KNeighborsClassifier를 수행하던 중에 생기는 오류 같은데 어떻게 조치 하면 될지 알려주시면 감사하겠습니다.밑에 CV셋 기반의 스태킹에서도 동일한 오류가 나오고 있어서 수행을 못하고 있습니다.AttributeError: 'NoneType' object has no attribute 'split'
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
선형성의 레이블 영향력
regplot()으로 각 칼럼이 회귀 결과에 미치는 영향을 보여주셨는데 강의와 책에서는 선형회귀선의 양방향과 음방향의 선형성이 크면 레이블값의 대한 영향도가 크다라고 간접적으로 나와있는거 같은데 예외인 경우도 있나요? 있다면 예시 하나만 들어서 설명해주실 수 있으실까요? 또한 반대로 양방향과 음방향의 선형성이 크지 않고 선형회귀 직선이 수평에 가까우면 레이블에 대한 영향력이 크지 않다고 단정지어 말할 수 있는건가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
이미지와 일반 속성을 이용한 분류는 어떻게 적용해야 하나요?
강의 잘듣고 있습니다. 평소 이해하기 힘든 부분 잘 설명해주셔서 감사합니다. 강의를 듣다 의문이 있어 질의드립니다. 이미지와 일반적인 속성을 이용해서 분류를 해야 하는 경우 어떤식을 적용해야 하나요? 예를들면 음식 이미지와 온도, 습도 데이터를 통해 부패여부를 알고자 한다면, 이미지를 딥러닝을 통해 1차로 분류한 후, 그 결과를 온도, 습도와 같이 머신러닝을 시켜야 하는지, 아니면 한번에 학습하는 방법이 있는지, 또는 다른 방법이 있을지 궁금하네요. 실제 프로젝트에서는 이미지와 같이 사용하는 경우가 많을거 같아 질문드립니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
RSS
311 페이지에 실제 값과 회귀 모델의 차이에 따른 오류 값을 남은 오류, 즉 잔차라고 부른다 라고 되있는데 RSS = (잔차)² 라고 이해해도 되는건가요? 그리고 책을 한번 다보고난 후에 복습할 때 경사하강법 증명하고 코드로 구현하는것을 해보고싶은데 314쪽부터 건너뛰고 321쪽부터 봐도 무방할까요?
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
Pycharm에서 graphviz를 이용해 그래프를 시각화할 수는 없나요?
- jupyter notebook이 아닌 pycharm에서는 같은 코드를 사용해도 그래프가 보이지 않는데 혹시 방법이 있는지 궁금합니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
스태킹 class
인터넷 찾아보면 교차 검증 기반의 스태킹 모듈들이 있을거라고 하셨는데 그것들을 따로 사용하지 않고 코드로 직접 구현하신 이유가 있으신가요?
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
Scaler 관련 질문
선생님 안녕하세요! 머신러닝 강의 잘 따라가고 있습니다. 스케일링 관련해서 궁금증이 생겨서 문의 드립니다. 일반적으로 train 데이터에 대해서 fit을 해서 그 train 데이터에 대한 정보를 가지고 train/val/test 각각 tranform을 하는 것으로 알고 있습니다. 그런데 여기서 MinMax를 예로 들었을 때 train의 Max보다 큰 값이나 Min보다 작은 값이 test 데이터에 있는 경우도 있을 거란 생각이 들더라구요. 그래서 직접 그런 상황을 가정해서 코드를 돌려봤는데 기존에 설정한 범위인 0~1이나 -1~1을 벗어난 값으로 반환이 됐습니다. 생각해보면 당연한 결과이긴 한데, 이렇게 반환이 되어도 모델로 예측을 할 때 문제가 발생하지 않는지가 궁금합니다. 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
강의ppt와 파이썬파일누락 ???
선생님 안녕하세요 강의 너무 잘 듣고 잇습니다. 혹시 ppt파일은 어디서 받을수 잇는지요? 그리고 gibhub에서 받은 파일중에서 분류강의 < XGBoost를 이용한 위스콘신 유방암 예측(사이킷런 Wrapper XGBoost 사용)>의 파이썬강의 파일이 없던데 혹시 어디서 받을수 잇는지요? 부탁드리겟습니다 ㅎ