묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결확률과 통계 기초
2.1 counting metthods part 1 32:30
선생님 문제를 간단하게 만드는 과정에서초록색 영역이 추가되면서 어떻게 분자와 분모가 n!, (n-k)!로 유도가 되는건가요..? 그리고 ...2*1의 의미는 0까지는 곱하지 않는 다는 의미인가요? (n-k-1)이면 n=5이고, k=4이면 계산하지 않는 다는건가요? (수식이 이해가 가지 않습니다)
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
4장 신규추가된 feature selection_basic에서 1째 코드에 에러 발생합니다.
4장 신규추가된 feature selection 강의에서 1번째 코드에서 다음과 같은 오류가 뜨는데요... 제 사이킷런 버전은 1.2.2 입니다. --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[6], line 25 23 plt.xlabel("Number of features selected") 24 plt.ylabel("Cross validation score (nb of correct classifications)") ---> 25 plt.plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_) 26 plt.show() AttributeError: 'RFECV' object has no attribute 'grid_scores_'혹시 가능한 명령어가 뭐가 있는지 검색해 보았는데, 아래와 같이 뜹니다. 대체될 수 있는 명령어가 뭐가 있을까요?[x for x in dir(rfecv) if not x.startswith('_')][11]:['classes_', 'cv', 'cv_results_', 'decision_function', 'estimator', 'estimator_', 'fit', 'fit_transform', 'get_feature_names_out', 'get_params', 'get_support', 'importance_getter', 'inverse_transform', 'min_features_to_select', 'n_features_', 'n_features_in_', 'n_jobs', 'predict', 'predict_log_proba', 'predict_proba', 'ranking_', 'score', 'scoring', 'set_output', 'set_params', 'step', 'support_', 'transform', 'verbose']
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
graphviz 설치 후 에러메시지..문의드립니다.
graphviz 설치하고 실습파일 4-2의 3번째줄까지 코드를 작성하면 '[Errno 13] Permission denied: PosixPath('dot')' 가 발생합니다. 해결방법을 알 수 있을까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
실루엣 값을 기준으로 필터한 값을 target값으로 선정
안녕하세요. 교수님. 이번 강의를 보면서 실루엣 값과 각 군집의 평균값에 대개 배웠는데요. 이렇게 구해진 각 값들의 실루엣 계수들에 대해 어느정도 값을 기준으로 필터링하여 해당 클러스터된 각 데이터를 target 값으로 사용하여 다른 데이터의 회귀분석 예측모델을 사용하려는 생각을 조금 해보았는데 이런 진행 방식이 맞는걸까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
PCA 3개이상에서의 2차원 군집화시 의미
안녕하세요. 강의를 듣고있는 학생입니다.강의에서는 PCA1과 PCA2를 기반으로 2차원에서 군집분류를 하는데 PCA가 3이상이 있을 경우에 PCA2와 PCA3을 2차원으로 하여 시각화를 하는 건 의미가 있을까요?
-
미해결확률과 통계 기초
3-1, example 9 다이어몬드 선택 문제에서
example 9 에서 Px(x) = (10, 2)(90, 8) / (100, 20) 으로 교안이나 강의에서 소개가 되어 있는데10개가 아니라 20개를 무작위로 선택하는 것이니, (90, 18) 이여야 하지 않나요? 가품에서 2개, 정품에서 18개 뽑는 거니까요.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
4.3 앙상블학습 실습 데이터 에러
두번째 블록 코드를 수정없이 그대로 실행했는데 오류가 떠서 질문드립니다AttributeError Traceback (most recent call last) Input In [4], in <cell line: 13>() 11 # VotingClassifier 학습/예측/평가. 12 vo_clf.fit(X_train , y_train) ---> 13 pred = vo_clf.predict(X_test) 14 print('Voting 분류기 정확도: {0:.4f}'.format(accuracy_score(y_test , pred)))AttributeError: 'NoneType' object has no attribute 'split'무엇이 문제일까요??...
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
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를 활용한다면 오류가 뜨지 않는데,제가 생각하는 방식에는 어떤 문제점이 있을까요?
-
해결됨통계 분석 마스터 클래스
kess 는 어디서 다운받나요?
kess 는 어디서 다운받나요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
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든 지정해두라는 것 같은데, 어느 부분에 추가해야할지 잘 모르겠습니다.어떻게 해결해야 할까요?
-
미해결인공지능 기초수학
아니 뭔 답변도 안해줄거면 강의를 왜 만든거야
?
-
미해결인공지능 기초수학
강의 교안 부탁드립니다
안녕하세요 수강신청해서 잘 듣고 있습니다. 강의 교안 부탁드리겠습니다e-mail : gogopall@naver.com
-
미해결인공지능 기초수학
y=2(x-3)^2+5
이 식에서 +5이기 때문에 y가 +5만큼 이동하는 건 알겠는데 (x-3)^2을 통해서 x 방향으로 3만큼 이동하는 이유를 모르겠습니다