월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
실행 에러
dt_clf = DecisionTreeClassifier() dt_clf.fit(X_train, y_train) pred = dt_clf.predict(X_test) print('예측 정확도:{0:.4f}'.format(accuracy_score(y_test.pred))) 이 부분을 실행할때, AttributeError: 'Series' object has no attribute 'pred' (이런 에러가 나옵니다. 어떻게 해결할까요?) 감사합니다~
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
랜덤포레스트 배깅방식으로 데이터 샘플링 예제에서
선생님~ 랜덤포레스트에서 배깅방식으로 데이터샘플링을 하는 부분을 확인할 수 없어서 질문합니다. 궁금한 점이 X_train 데이터는 총 7352개 행이 있는데(shape(7352, 561)) 랜덤포레스트의 n_esitmator의 기본값이 100이므로, 7326개의 데이터를 랜덤하게 샘플링을 하여 각각 다른 샘플링 데이터(중첩되기도하는) 들을 100개의 분류기에 학습을 시킬텐데.. 100개 분류기마다 들어가는 각 샘플링 데이터의 수가 가변적이겠지만 대략 평균적으로 몇 개정도 들어가는지는 알 수 없는건가요~? 각 분류기에 들어가는 데이터 수를 지정하는 파라미터로 max_samples라고 알고 있는데, 이게 None으로 기본값이 되어있을 때는 어떻게 랜덤샘플링 데이터 수가 지정이 되는지 궁금합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
XGBoost feature importance에 관한 질문
안녕하세요. 수업 잘 듣고 있습니다. 다음은 책 240p에 있는 XGBoost 의 feature importance에 관한 내용인데, 파이썬 래퍼랑 사이킷 래퍼를 사용했을 떄 각각 중요도의 순서가 다르더라구요. 이렇게 되면 제일 중요한 feature 의 순서도가 달라지는 건데 이건 왜 그러는건가요?? 사이킷 래퍼는 f21 , f1 , f13 순으로 중요도가 높은 반면에 파이썬 래퍼는 f13, f21 , f1순으로 중요도가 높더라구요!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
header= infer여도 names 지정해주면 None으로 자동적으로 되나요?
선생님~ X_train = pd.read_csv('./human_activity/train/X_train.txt',sep='\s+', names=feature_name ) 에서는 header=None을 안해주었는데요.. (기본값이 'header=infer '인데) names=[feature_name] 지정해줘서 header가 None으로 자동적으로 되는 건가요~?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님 ~ from subprocess import call
선생님 https://github.com/chulminkw/PerfectGuide/blob/master/4%EC%9E%A5/4.2%20%EA%B2%B0%EC%A0%95%20%ED%8A%B8%EB%A6%AC_Ver01.ipynb 에서 이 부분은 강의에서 없었는데 이 부분은 왜 추가하신 건가요~? 조금만 설명 부탁드리겠습니다. ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
정밀도가 급격하게 떨어지는 이유?
선생님~ 강의 6:42 부분에서 precision_recall_curve_plot 으로 정밀도와 재현율 trade-off 그림 그리는데, 임계값 0.77 부분에서 정밀도가 급격하게 떨어지는 이유가 무엇인가요..?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
why?6
K-Means의 군집방식과 GMM의 군집방식의 차이점을 잘 모르겠습니다. Q1 ) GMM에서 데이터의 밀집도를 그래프로 그린뒤 그 그래프가 여러개의 정규분포곡선으로 이루어져있다고 가정한뒤 각 데이터들을 모수추정을 하여 군집화를 한다고 이해를 했는데 K-Means 도 어떻게 보면 데이터가 가장 많이 밀집되어있는 곳에 center를 잡아 군집화를 하는거니 차이가 없지않나요? Q2 ) 데이터를 모수추정하는과정에서 정규분포곡선의 모양이 변경되며 더이상 변경되지 않는 그래프의 모양이 될때까지 반복하는것인가요? -> 하나의 데이터 밀집도 그래프를 여러가지의 정규분포 곡선이 다양한 조합으로 나타낼수가 있나요? GMM을 정확히 이해하지 못한상태에서 질문을 하는거라 질문의 내용이 모호할수도있습니다..
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
MyFakeClassifier에서 predict() 함수 부분에서 dtype='bool '하는 이유
선생님~ 노란색 부분이 잘 이해가 가지 않네요..ㅠ np.zeros( (len(X), 1) , dtype=bool) 이 코드에서 dtype='int32' 가 아니라.. 왜 dtype='bool'로 하는 건가요~? 0이 아니라 False로 반환해주는 게 이해가 잘 되지 않네요..ㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
머신러닝 알고리즘에서 데이터 수가 적다는 의미
선생님~ 교차검증 할 때, test_data까지 포함한 이유에 대해서 선생님께서 '여기서는 test_data까지 포함해서 cross_val_score() 를 수행한 이유는 단순히 데이터 건수가 너무 적어서 입니다.' 라고 하셨던 답변을 봤었는데요. 이 답변을 보고 궁금한 점이..데이터 수가 적다는 의미의 크기는 어느정도 인가요..? (예를 들면, 통계에서 중심극한정리로 모수 통계분석은 n수가 30 이상이어야 정규분포를 따르므로 30 이상의 데이터가 좋은 것처럼..)
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
get_category 함수 만들 때 cat='' 쓰는 이유
선생님~ get_category 함수 만들 때 cat='' 쓰는 이유가 있을까요~? 3번째 줄 cat='' 이걸 안써주고 함수를 작성하고 돌려봐도 잘 실행이 되는데, cat='' 의 유무가 차이가 있나요~? (결측치 문제라든지..??... ) 이유가 궁금해서 여쭤봅니다..! 아무상관이 없는건지.. 아니면 나중에 이런 함수같은걸 만들 때, 공백의 변수를 먼저 선언해주는 의미에서 유의할 점이 있는건지요.,?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
균형데이터라 해도 분류일 경우에는, Stratified KFold를 써야하는 게..
선생님~ iris데이터 같은 경우에는 레이블값 0,1,2각 전체 데이터에서 각각 50개씩 균형있게 들어가 있는 데이터 잖아요~? 이러한 균형 데이터라해도, 알고리즘이 '분류'일 경우에는, 교차검증시 Stratified KFold를 사용해야 하는 거지요~? 교차검증 K폴드 관련 이론 설명해주실 때 , 일반 KFold와 Stratified KFold 부분에서 'Stratified KFold'는 불균형한 분포도를 가진 레이블 데이터 집합을 위한 방식이라고 설명해주셨었는데요.. iris 같은 경우는 균형적인 분포도를 가진 데이터인데도 KFold를 하면 이렇게 이상하게 되니...
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님~ 학습(학습/검증)-테스트 데이터분리관련
선생님~지금 강의에서는 데이터 수가 작아서그냥 학습데이터와 테스트데이터로 교차검증을 시행한 것이지만.. 원래 일반적(표준)으로는, 먼저 데이터를 train_test_split()으로 학습-테스트 데이터를 나누고, 또 학습데이터를 가지고 train_test_split() 해서 학습-검증 데이터로 나눠서, 교차검증을 실시하고 최적으로 학습된 모델로 , 최종으로 테스트데이터로 예측수행을 하면 되는 것이지요~?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
cross_val_score() 에서 scoring 인자값이 없는데
선생님~ 코드3번째 줄에서 cross_val_score() 에서 scoring 인자값이 없는데 어떻게 실행이 되는건가요..? 이전에 cross_val_score(..., scoring ='accuracy') 이렇게 scoring 인자값을 넣어주었었는데.. 여기서는 왜 넣지 않은건가요..? shift+tap 눌러서 함수 인자 설명을 봐도 scoring의 디폴트값이 None으로 되어있는데.. 어떻게 작동되는건지요..ㅠ? 그리고 오히려, GridSearchCV에서는 이전 강의에서는 GridSearchCV()를 쓸땐 인자로 scoring을 안써주셨었는데.. 이번 강의에서는 써주셨네요..! scoring 인자 값은 cross_val_score()나 GridSearchCV()에서 둘다 함수 인자로 꼭 써줘야 하는건가요~? 강의에서 빠뜨리신건지..아니면 생략도 가능한건지.. 이전강의와 달라서.. 기준이 헷갈리네요..ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
GridSearchCV refit에 관해서 질문합니다!
grid_dtree = GridSearchCV(dtree, ... , refit=True) 에서 refit을 True가 아닌 False로 설정한다면, 최적의 파라미터로 재학습이 되지 않기 때문에 grid_dtree.fit(X_train, y_train)했을 때 마지막 교차 검증시 사용한 파라미터로 학습이 되는 것인가요? 그럴 경우(refit=False)에 grid_dtree.best_estimator_를 통해서 최적의 파라미터를 가진 estimator를 다시 구해서 predict를 하는 것일까요? 제가 이해한 것이 맞는지 여쭤봅니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님~레이블인코딩할 때,
선생님 object 칼럼 레이블 인코딩하는 함수에서요~ 8번째 줄에서 le = le.fit(dataDF[feature]) 이렇게 쓰셨는데.. 그냥 le.fit(dataDF[featue])가 아닌가요~? 이전 데이터전처리 강의 중 레이블인코딩 부분에서는 객체로 따로 반환하지 않았었거든요.. fit()은 그냥 그대로 적용되는 거 아닌가요~?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
cross_val_score() 에서 cv의 방법 관련
선생님~ 기존 cross_val_score() 에서 cv의 방법 관련된 선생님의 답변에서 '데이터를 '폴드' 방식으로 교차 검증 데이터 셋을 만들때, KFold와 StratifiedKFold를 이용합니다.cross_val_score는 폴드 교차 검증 데이터 셋을 '분류'일때는 기본적으로 StratifiedKFold를 이용합니다.' 이렇게 답변 하신 것을 봤었습니다~ 답변이 잘 이해가 되었는데 제가 궁금한 것이 cross_val_score() 에서 함수 인자 중 estimator인자 로 Decisiontree같은 분류 방법이 들어가면 자동적으로 StratifiedKFold 방식이 적용되고 회귀 방법이 들어가면 KFold 방식이 적용이 된다는 말씀인건가요~? 아니면 인자 중 지정하는 방법이 있는건가요~??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요:) 질문이 있습니다.
안녕하세요:) 강의 너무 잘 듣고 있습니다. 다름이 아니라 scikitlearn wrapper를 이용하여 XGboost 하이퍼파라미터 서치를 수행하고 있는데요..! 아래와 같이 gridsearchCV에 CV는 데이터 수가 적어 leave-one-out cross validation을 적용하여 사용하려고 합니다. early_stopping 기준은 어떻게 줘야할지 잘 모르겠어서 100으로 현재 준 상태입니다. # set data X = df.iloc[:, 1:-1] y = df["Y"] # define fit_params fit_params = {'early_stopping_rounds': 100, 'eval_set':[(X,y)]} # define grid_search model_grid_cv = GridSearchCV(estimator=model, param_grid=param_grid, scoring="accuracy", cv=loo, n_jobs=-1, verbose=True) # fit_model model_grid_cv.fit(X, y, **fit_params) LightGBM의 경우 아래와 코드를 수행했을 때 1시간만에 결과가 잘 나왔는데 XGBoost는 20시간 가까이 계속 코드가 돌고 있더라고요,,,, 그냥 기다리는 것이 좋을 까요? 아니면 early_stopping을 낮게 줘서라도 수렴을 하는 것을 확인해야할까요? 너무 낮게 줘버리면 성능이 잘 나오지 않을 것 같아서 난해한 상황이라 선생님의 의견을 듣고 싶습니다. 감사합니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
기존 질문답변에 대한 질문_학습(학습+검증)-테스트
선생님~ 기존질문에 대한 선생님의 답변에서 '요약하자면 학습/검증 데이터를 포함하여 테스트 데이터 역시 전체 데이터의 target 값 데이터 분포를 유지하면서 분리해 주는게 좋습니다. 먼저 학습/테스트 데이터 세트를 target 값 데이터 분포를 유지하며 분리해주고 학습 데이터의 경우 Cross-validation을 위해서는 stratified k-fold로 수행해주는 게 좋습니다. ' 이렇게 말씀하신 부분이 있는데요~ 답변내용은 잘 이해가 되었는데.. 그러면 제가 궁금한 것이.. (교차검증을 배우기 전에) 이전 강의에서 배웠던 학습데이터와 테스트데이터 나누는 train_test_split() 이 메소드(함수?) 에서는~ StratifiedKFold의 split() 기능처럼, 이미 레이블값의 분포도를 유사하게 해주는 기능이 있는 건가요~? 그리고 제가 또 하나 궁금증이 있는 것은 현재 교차검증 파트 부분에서 150개 데이터를 다 갖고와서 학습+검증을 했는데 일반적으로는 150개의 데이터에서 학습용 120개 / 테스트용 30개 를 먼저 나누고, 120개 중에서 3개폴드로 교차검증 한다면학습 80개 /검증 40개 하고 이렇게 진행하는건가요..? 좀 헷갈리네요..ㅠ.ㅠ 마지막으로, 검증을 하는 의미가 '정확성'이 잘 나오는지 확인하는 거 맞나요~? 제일 헷갈리는 부분이 교차검증이 테스트데이터와는 무슨 연관이 있는지.. '정확성'인거 같은데.. 제가 강의를 좀 더 들어봐야 하는데 너무 이른 질문인가요..? ㅜㅜ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
train_test_split 에서 random_state 없는 의미
선생님~ 궁금증이 생겼는데요..! X_train, X_test,y_train, y_test= train_test_split(iris_data.data, iris_data.target, test_size=0.3) 이렇게 random_state없이 하면 실행될때마다 계속 train데이터셋과 test데이터셋의 샘플링이 다양하게 되잖아요~ 그럼 iris라는 하나의 데이터(Bunch객체)이긴 하지만.. X_train, X_test,y_train, y_test= train_test_split(iris_data.data, iris_data.target, test_size=0.3) 과 dt_clf.fit(X_train, y_train) 를 몇 번 계속 해주면 샘플링의 경우의 수가 다양하듯이 학습도 그만큼의 경우의 수에 따라 되는 의미로 받아들여도 되는건가요..? 학습이
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
실전에서 피처데이터와 target데이터 나누는 것
선생님~ iris 데이터는 Bunch객체로 딕셔너리 비슷한 형태로 피처data와 target 값이 나뉘어져 있잖아요~ 그런데 실전에서 csv같은 데이터에서는 나뉘어져 있지 않으니.. 피처data와 target값을 나누는 것부터 실무에서는 해야 하는 일인거겠지요..??