월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
4.2 결정트리 Jupyter notebook 에러 관련 문의드립니다.
4.2 결정트리 Jupyter notebook 에러 안녕하세요? 올려주신 강의 덕분에 도움을 참 많이 받고 있습니다. 정말 감사드립니다. 다름이 아니라, 수업 중 결정트리 실습 강의 첫번째 부분 강의를 들으며 코드실행을 진행하던 중 다음과 같은 에러가 발생하며, 결과값 도출이 되지 않아 문의를 드립니다. 에러코드는 다음과 같습니다. from sklearn.tree import DecisionTreeClassifierfrom sklearn.metrics import accuracy_score# 예제 반복 시 마다 동일한 예측 결과 도출을 위해 random_state 설정dt_clf = DecisionTreeClassifier(random_state=156)dt_clf.fit(X_train , y_train)pred = dt_clf.predict(X_test)accuracy = accuracy_score(y_test , pred)print('결정 트리 예측 정확도: {0:.4f}'.format(accuracy))# DecisionTreeClassifier의 하이퍼 파라미터 추출print('DecisionTreeClassifier 기본 하이퍼 파라미터:\n', dt_clf.get_params())--------------------------------------------------------------------------- ValueError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_25120\762432765.py in <module> 4 # 예제 반복 시 마다 동일한 예측 결과 도출을 위해 random_state 설정 5 dt_clf = DecisionTreeClassifier(random_state=156) ----> 6 dt_clf.fit(X_train , y_train) 7 pred = dt_clf.predict(X_test) 8 accuracy = accuracy_score(y_test , pred) ~\anaconda3\lib\site-packages\sklearn\tree\_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted) 935 """ 936 --> 937 super().fit( 938 X, 939 y, ~\anaconda3\lib\site-packages\sklearn\tree\_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted) 163 check_X_params = dict(dtype=DTYPE, accept_sparse="csc") 164 check_y_params = dict(ensure_2d=False, dtype=None) --> 165 X, y = self._validate_data( 166 X, y, validate_separately=(check_X_params, check_y_params) 167 ) ~\anaconda3\lib\site-packages\sklearn\base.py in _validate_data(self, X, y, reset, validate_separately, **check_params) 576 # :( 577 check_X_params, check_y_params = validate_separately --> 578 X = check_array(X, **check_X_params) 579 y = check_array(y, **check_y_params) 580 else: ~\anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator) 744 array = array.astype(dtype, casting="unsafe", copy=False) 745 else: --> 746 array = np.asarray(array, order=order, dtype=dtype) 747 except ComplexWarning as complex_warning: 748 raise ValueError( ~\anaconda3\lib\site-packages\pandas\core\generic.py in __array__(self, dtype) 2062 2063 def __array__(self, dtype: npt.DTypeLike | None = None) -> np.ndarray: -> 2064 return np.asarray(self._values, dtype=dtype) 2065 2066 def __array_wrap__( ValueError: could not convert string to float: 'tBodyAcc-mean()-X'혹시 몰라 사진을 함께 첨부하였습니다.늘 감사합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
MeanShift(best_bandwidth) TypeError
'KDE(Kernel Density Estimation)의 이해와 사이킷런을 이용한 MeanShift 군집화 실습' 수강중 12:00 즈음 '최적의 bandwidth 값을 estimate_bandwidth()로 계산 한 뒤에 다시 군집화 수행' 차례입니다.첨부 사진상 ln [16] 아래서 세번째 meanshift= MeanShift(best_bandwidth)를 제거하면 오류없이 강의와 같은 결과 [0 1 2]를 출력하기는 합니다.그런데 이게 meanshift= MeanShift(bandwidth=best_bandwidth)를 삭제 했기 때문에 그 전에 실행한 meanshift= MeanShift(bandwidth=1) 때문에 나온 결과인 것 같습니다.즉, bandwidth=1.689가 아닌 bandwidth=1로 적용된 것 같습니다.이 때문인지 이후 시행되는 '군집별 중심 시각화'에서도 meanshift_label이 0과 1이 switch 되었습니다.또한 meanshift_label 2의 데이터 하나가 0 쪽으로 클러스터링 되기도 했습니다. print(clusterDF.groupby('target')['meanshift_label'].value_counts())의 결과입니다. (target 2의 meanshift_label이 65+1=66이 아닌 66임)target meanshift_label0 0 671 2 672 1 66Name: meanshift_label, dtype: int64오류 없이 meanshift= MeanShift(bandwidth=best_bandwidth)를 제대로 적용하려면 어떻게 해야 할까요? 설치할 때 기억은 잘 안나지만 version을 통일하라 강조하신 것 외 다른 설치 파일은 2023년 4월 설치했기 때문에 version이 다를 수 있습니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
K-Fold 등의 교차 검증 이후 최종적인 best model은 어떻게 선택하나요?
K-Fold 교차 검증에 대하여 수업을 들었습니다. K-Fold의 목적, 특징, 수행 방법에 대해서는 설명이 이해가 다 되었는데요, 그렇게 해서 최종적으로 어떤 모델을 선택하는지에 대하여서는 전혀 설명이 되어있지 않아서 질문드립니다. N개의 Fold로 데이터를 나누어서 N번의 교차 검증을 하면, N번의 fitting 결과와 각 Iteration에서의 accuracy가 나오게 됩니다. N번의 fitting을 수행하기 때문에 각 iteration에서는 결과적으로 다른 모델이 생성이 될 것입니다.강의에서는 N번의 Iteration의 개별 accuracy를 모아서 평균을 내고, 이 평균값으로 모델의 성능을 평가하라고만 되어있습니다. 그럼 최종적으로 N번의 Iteration에서 나온 N개의 모델 중에 어떤 것을 실제 최적화된 모델로 사용하면 되는 것입니까? GridSearchCV를 통한 하이퍼파라미터 튜닝에서는 수행의 결과로 best_estimator_를 리턴해주기 때문에 이것을 쓰면 되는 것을 알겠습니다만, 일반적인 K-Fold나 cross_val_score() 함수를 통한 교차 검증의 결과로는 best estimator를 얻는 방법을 설명해주지 않고 있습니다. 이 부분에 대한 답변 부탁드립니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
부트스트래핑 샘플링 질문드립니다
안녕하세요! 강의 잘 듣고 있습니다.부트스트래핑 샘플링에서1차원 데이터로 여러 서브 세트를 만든 부분은 이해가 되었습니다.그런데 생각해보니 랜덤 포레스트 입력으로 들어가는 데이터셋의 형태는 2차원 dataframe입니다.이러한 2차원 dataframe은 어떻게 부트스트래핑 샘플링이 되는지 여쭤보고 싶습니다.1차원에선 개별 데이터가 중첩되는 식이라면, 2차원에선 개별 행이 중첩되는 방식인가요? 감사합니다.^^
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
트리계열 파라미터 max_features 작동 방식
여러 트리 계열 파라미터 중 max_features는 최적의 분할을 고려하여 피처의 개수를 선정한다고 했습니다. 이것의 작동 방식이 궁금합니다.피처의 개수를 선정한다고 했는데, 전체 피처 중 트리계열 학습기를 적용하기 전, 일부만 추출(일부 피쳐 선택)을 하고 적용하는 것인가요?(예시로, max_features= 'sqrt', iris데이터 피처의 개수: 120라고 가정하면, 아이리스 데이터 120개중 랜덤으로 루트120개를 뽑고, 뽑힌 피처들로 알고리즘을 수행) 하는 것인가요? 실제로 Graphviz모듈로 max_features='sqrt'로 실행해보니, 첫번째 노드의 samples 데이터가 120개로 원본 데이터와 같아서 질문드립니다. 제가 잘못 이해한 부분이 어디 일까요..
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
보팅 배깅 부스팅 서브 샘플
학습을 하다가 궁금한 점이 생겼습니다. 보팅 계열의 알고리즘은 전체 데이터에서 여러가지 학습기를 순차적으로 적용한 것이고, 배깅은 하나의 학습기를 부트스트래핑 방식으로 여러가지 샘플 데이터를 만든 다음 적용하는 것으로 이해했습니다. 그렇다면 부스팅은 이 두 가지 방식을 혼합한것인가요? 즉, 하나의 학습기마다 부트 스트래핑 방식으로 서브 샘플들을 뽑은 다음 각각의 서로 다른 학습기들로 학습을 하는 것인가요? 아니면 보팅의 개념을 빌려 전체 데이터에서 가중치를 적용하면서 약한 학습기를 적용하는 것인가요?학습하다가 궁금한점이 생겨 질문드립니다.
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
복습을 하면서 궁금증이 생겨서 올립니다. RMSLE 적용시, -1보다 작은 음수값을 수학적으로 대입할 수 없는데.,..
evaluate_regr(y_test, pred)에 test데이터 세트와 예측 값을 넣는데,y_test의 경우 y_test[y_test < -1] 에 해당하는 값이 없기 때문에, np.log1p에 대입할 수 있지만,pred[pred < -1]에 해당하는 값은 존재하기 때문에, 예측값이 -1이보다 작은 경우에는 np.log1p에 대입할 수 없다고 생각합니다. 그래서, mean_squared_log_error를 호출하여 squared = False로 계산을 하였더니, ValueError: Mean Squared Logarithmic Error cannot be used when targets contain negative values.라고 오류가 뜨더라구요. 결국 -1보다 작은 음수값을 대입할 수 없다는 수학적 오류 때문이겠지요... 하지만, 선생님께서 하신 RMSLEdef rmsle(y, pred): log_y = np.log1p(y) log_pred = np.log1p(pred) ## log1p 랑 expm1은 하나의 쌍임. squared_error = (log_y - log_pred) ** 2 rmsle = np.sqrt(np.mean(squared_error)) return rmsle를 활용한다면 오류가 뜨지 않는데,제가 생각하는 방식에는 어떤 문제점이 있을까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
5장 회귀 Kaggle 보스턴 집값 예측 실습
안녕하십니까. 현재 완강 후 복습하고 있는 학생입니다!5장 회귀 파트 Kaggle 보스턴 집값 예측 실습을 하던 중 궁금한 것이 생겨 질문드립니다. Kaggle에서 데이터를 받으면 train.csv와 test.csv가 있는데 처음 모델링을 진행할 때 train 데이터를 활용하여 진행했더니 test 데이터로 predict를 할 수 없었습니다.알아본 결과 train 데이터셋으로 더미변수를 생성한 경우 test 데이터셋을 더미변수로 인코딩 했을 때 matching이 되지 않아 predict가 안되는 것 같았습니다.따라서 train 데이터셋과 test 데이터셋을 합쳐서 새로운 데이터프레임(all_data)을 생성하여 모든 전처리 과정을 다시 진행하고 더미변수 생성 후 train 데이터셋과 test 데이터셋으로 다시 분리를 해줬습니다.이후 재분리된 train 데이터셋을 train_test_split 으로 분할한 후 모델링을 진행하고 마지막에 all_data 에서재분리했던 test 데이터셋을 활용하여 model.predict(test) 를 통해 submission.csv 를 만들 수 있었습니다. 이런 과정을 진행하며 궁금한 점은 현업에서 만약 지금까지 수집된 데이터로 모델링을 진행했는데 예측할 데이터에 새로운 범주 혹은 기존 범주 중 새롭게 수집된 데이터가 있는 경우 처음부터 모델링을 다시 진행하는 것인지 아니면 다른 방법이 있는지 궁금합니다. 강의 들으며 정말 실력이 많이 늘었습니다. 복습이 끝나면 SQL 강의도 수강을 계획하고 있습니다. 좋은 강의 만들어주셔서 정말 감사합니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
keepdims warning
스태킹 모델 소개 - 기본 스태킹 3:25 즈음 예측 데이터 셋 생성시 keepdims 관련 warning이 떠서 검색해본 결과, 대충 2 dimension을 유지해야 한다는 걸로 보여서 대수롭지 않게 넘겼습니다.그런데 스태킹 모델 소개 - 교차검증 스태킹 15:55 즈음 모델별 학습을 할 때는 한 페이지를 잡아먹을 정도로 warning 문구가 도배됩니다.내용을 보니 Scipy 1.11.0 이후 keepdims default 값이 False이기 때문에 편의에 따라 keepdims를 True든 False든 지정해두라는 것 같은데, 어느 부분에 추가해야할지 잘 모르겠습니다.어떻게 해결해야 할까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹 모델 메소드의 교차검증
안녕하십니까 선생님 좋은 강의 수강하고 부족한 부분에 대해 강의를 여러번 돌려보고 있습니다.다름아니라 제가 Stacking 앙상블 학습에 관심을 갖고 공부를 진행하고 있는데 sklearn에 StackingRegressor 메소드(?)를 이용한 코드를 작성해 봤습니다. 아래는 작성한 코드 중 메소드 부분입니다.Stacking = StackingRegressor(estimators=estimators, final_estimator=meta_model, cv=10)여기서 cv=10을 이용하면 강의 예시에 나오던 stacking_input_data 함수 정의에서 n_folds를 10한것과 같은 과정으로 이루어지는건가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
맥북 에어 m1 lightgbm 설치가 안되네요 ..
안녕하세요 맥북 에어 M1칩을 사용하고 있는 학생입니다. 다름이 아니라 brew install lightgbm, pip install lightgbm(주피터에서) 해도 이미 설치가 되있다고 뜨지만주피터에서 import lightgbm을 하면 오류가 뜹니다 오류 내용은OSError: dlopen(/Users/choeyuhyeon/opt/anaconda3/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: '/usr/local/opt/libomp/lib/libomp.dylib' Referenced from: '/Users/choeyuhyeon/opt/anaconda3/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so' Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)다음과 같고 https://github.com/Microsoft/LightGBM/issues/1369여기서 나오는 코드를 그대로 사용해봐도 똑같은 상황입니다. 어떻게 해야될까요..? 윈도우 노트북을 새로 사야되나요..
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Colab를 통한 실습 관련 질문드립니다.
안녕하세요,강의 내용을 Colab를 통해서 실습을 하고 있습니다. 다른 코드를 실행 할때는 별 문제가 없었지만, 산탄데르 은행 데이터셋과 사기검출 데이터셋을 실행할때read_csv를 통해 csv파일을 읽어오면 실행 할때마다(런타임이 바뀔때 마다) read된 결과가 다른데 왜 그런지 알 수 있을까요? 사기검출 데이터의 경우 25838 rows × 31 columns 로 읽히는 경우도 있고, 39702 rows × 31 columns로 읽어지는 경우도 있습니다. 두 데이터셋다 공통적으로 Nan 값도 생기기도 하네요. 런타임을 몇번 초기화 하다보면 운좋게(?) 정상적으로 읽어지는 경우도 있습니다. 왜 실행할때마다 결과가 다르게 나오는지 궁금합니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
강의 문의드립니다.
안녕하세요! 선생님 개설 강의중에 스파크로 배우는 머신러닝 문의드립니다.사내에서 데이터분석을 위해 파이썬과 파이스파크를 이용중인데,파이스파크 사용법에 익숙치 않습니다.. 선생님의 위 강의가, 파이스파크 강의인지 궁금합니다.감사합니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
DataConversionWarning 오류
안녕하세요 맥 환경에서 머신러닝 공부중입니다.현재 맥북프로로 M1 pro칩 기반에서 작동 중에3분 30초에 GridSearchCV 작동부분에서 아래와 같은 오류가 발생합니다.DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().n_jobs = -1로 설정하였을 때는 결국 timeout으로 빠져 작동 정지 됩니다.아마 cpu환경이 M1과 다르기 때문에 생기는 오류라고 생각되어 n_jops=2, 4, 8 ,10으로 설정하여 가동을 시켰습니다.n_jops를 변경하면 값이 결과값이 나오지만, 여전히 DataConversionWarning이 나옵니다.왜 그런지 알 수 있을까요?(사진 함께 첨부합니다.)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
pca / LDA 차원축소 질문
선생님 차원축소 부분을 공부하다가 개념이 헷갈리는 부분이 있어서 질문드립니다...제가 이해한 바로는 차원 축소는 피처의 개수를 줄이는 것 보다는 차원 축소를 통해 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는게 목적인데 그러면 코드상에서 저렇게 차원축소로 fit transform 한 결과로 나오는 저 두 숫자들이 의미하는 바가 무엇인지 이해가 잘 안됩니다. 저렇게 2차원으로 차원 축소를 시켜서 나오는 2개의 피처들이 의미하는게 새로운 축? 이라고 이해해야 하나요..? 저 각각의 lda_component들이 무엇을 의미하는지가 이해가 잘 안됩니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
get_feature_names()에 대한 질문
안녕하세요 선생님. 선생님 강의를 열심히 듣고 있는 수강생중 한명입니다. 다름이 아닐 강의 내용중 count_vect.get_feature_names()는 단어들이 나오는데feat_vect.get_feature_naems()는 안되는 이유가 있을까요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
아이템 기반 인접 이웃 협업 필터링 실습 내용 중
아이템 기반 인접 이웃 협업 필터링 실습 내용 중 문의드립니다. 28:16에서 확인가능한 최종 9번 사용자에 대하여보지않은 영화 중 예측평점이 높은 영화 10개를 추천해주는 결과에서 1위 Shrek은 pred_score가 0.866202로 확인됩니다.실제 평점범위가 0보다 크며 가장 큰 값은 5인데추천되는 영화의 예측평점이 너무 낮은건 아닌지요?pred_score가 나올 수 있는 값의 범위와 의미가 궁금합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
분류 결정 예측 확율
분류 결정 예측 확율은 Classifier내부에서 자체적으로 t, z, x^2 등의 분포를 통해 나타내는 지표인가요
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Confusion Matrix and Type Errors
Confusion Matrix 의 FN 과 FP 는 혹시 Statistics 학문에서의 Type I Error 와 Type II Error 인가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
titanic_df['Cabin'].str관련 에러
안녕하세요 선생님, 다름이 아니라 타이타닉 생존자 예측1 강의를 복습하다 코드에 에러가 생겨 질문드립니다. titanic_df['Cabin']에서 첫 번째 문자열만 가져오기 위해서 titanic_df['Cabin'].str[:1]을 실행하였으나 'PandasArray' object has no attribute '_str_getitem' 라는 에러가 나왔습니다. 해당 에러를 고치기 위해 어떻게 코드를 수정해야 하는지 혹은 어떤 다른 방법으로 조치해야 하는 지 여쭙기 위해 질문드립니다.