월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
GridSearchCV에 대한 질문
안녕하세요, GridSearchCV에 대해 질문 드립니다. 줄여서 Grid라 쓰겠습니다 뭔가 정리가 안되서요,,,ㅎ 1. Grid는 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 해주는데요, 교차 검증 시 Straitified K 폴드 방식으로 하는지 K 폴드 방식으로 하는지 어떻게 알 수 있나요? 혹시 어떻게 폴딩 했는지 볼 수 있는 속성이 있나요? ( ex. best_estimator_와 같은 함수같은..) 2. 책 p109에서 교차 검증시 학습/검증 레이블 데이터 분포를 확인 할 수 있었는데요, Grid에서도 동일하게 확인 할 수 있는 방법이 있나요? grid가 Stratified K Fold를 포함하고 있는지.. 헷갈립니다ㅠ
- 해결됨[개정판] 파이썬 머신러닝 완벽 가이드
UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range(128)
안녕하세요. 수업 잘 듣고 있습니다. 벌써 12월이네요ㅎㅎ GridSearchCV로 랜덤포레스트 하이퍼 파라미터 튜닝하는 과정에서 에러가 발생해서 문의드립니다. 책으로는 220페이지의 코드입니다. ------------------------------------------------------------------------------------------- from sklearn.model_selection import GridSearchCV params = {'n_estimators':[100], 'max_depth':[6,8,10,12], 'min_samples_leaf':[8,12,18], 'min_samples_split':[8,16,20]} rf_clf = RandomForestClassifier(random_state=0, n_jobs=-1) # n_jobs=-1 : 모든 CPU 코어를 이용해 학습 grid_cv = GridSearchCV(rf_clf, param_grid=params, cv=2, n_jobs=-1) grid_cv.fit(X_train, y_train) print('최적 하이퍼 파라미터:\n',grid_cv.best_params_) print('최고 예측 정확도:{0:.4f}'.format(grid_cv.best_score_)) ------------------------------------------------------------------------------------------ 이렇게 철민님과 동일한 코드를 입력했는데 UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range(128) 이와 같은 에러가 생깁니다. 보니까 모델에 fit하는 과정에서 발생한 에러인데요 전체 에러 코드는 다음과 같습니다. --------------------------------------------------------------------------- UnicodeEncodeError Traceback (most recent call last) <ipython-input-15-c470a9641bfc> in <module> 8 rf_clf = RandomForestClassifier(random_state=0, n_jobs=-1) # n_jobs=-1 : 모든 CPU 코어를 이용해 학습 9 grid_cv = GridSearchCV(rf_clf, param_grid=params, cv=2, n_jobs=-1) ---> 10 grid_cv.fit(X_train, y_train) 11 12 print('최적 하이퍼 파라미터:\n',grid_cv.best_params_) C:\ProgramData\Anaconda3\lib\site-packages\sklearn\utils\validation.py in inner_f(*args, **kwargs) 70 FutureWarning) 71 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)}) ---> 72 return f(**kwargs) 73 return inner_f 74 C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_search.py in fit(self, X, y, groups, **fit_params) 693 verbose=self.verbose) 694 results = {} --> 695 with parallel: 696 all_candidate_params = [] 697 all_out = [] C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in __enter__(self) 728 def __enter__(self): 729 self._managed_backend = True --> 730 self._initialize_backend() 731 return self 732 C:\ProgramData\Anaconda3\lib\site-packages\joblib\parallel.py in _initialize_backend(self) 739 try: 740 n_jobs = self._backend.configure(n_jobs=self.n_jobs, parallel=self, --> 741 **self._backend_args) 742 if self.timeout is not None and not self._backend.supports_timeout: 743 warnings.warn( C:\ProgramData\Anaconda3\lib\site-packages\joblib\_parallel_backends.py in configure(self, n_jobs, parallel, prefer, require, idle_worker_timeout, **memmappingexecutor_args) 495 n_jobs, timeout=idle_worker_timeout, 496 env=self._prepare_worker_env(n_jobs=n_jobs), --> 497 context_id=parallel._id, **memmappingexecutor_args) 498 self.parallel = parallel 499 return n_jobs C:\ProgramData\Anaconda3\lib\site-packages\joblib\executor.py in get_memmapping_executor(n_jobs, **kwargs) 18 19 def get_memmapping_executor(n_jobs, **kwargs): ---> 20 return MemmappingExecutor.get_memmapping_executor(n_jobs, **kwargs) 21 22 C:\ProgramData\Anaconda3\lib\site-packages\joblib\executor.py in get_memmapping_executor(cls, n_jobs, timeout, initializer, initargs, env, temp_folder, context_id, **backend_args) 40 _executor_args = executor_args 41 ---> 42 manager = TemporaryResourcesManager(temp_folder) 43 44 # reducers access the temporary folder in which to store temporary C:\ProgramData\Anaconda3\lib\site-packages\joblib\_memmapping_reducer.py in __init__(self, temp_folder_root, context_id) 529 # exposes exposes too many low-level details. 530 context_id = uuid4().hex --> 531 self.set_current_context(context_id) 532 533 def set_current_context(self, context_id): C:\ProgramData\Anaconda3\lib\site-packages\joblib\_memmapping_reducer.py in set_current_context(self, context_id) 533 def set_current_context(self, context_id): 534 self._current_context_id = context_id --> 535 self.register_new_context(context_id) 536 537 def register_new_context(self, context_id): C:\ProgramData\Anaconda3\lib\site-packages\joblib\_memmapping_reducer.py in register_new_context(self, context_id) 558 new_folder_name, self._temp_folder_root 559 ) --> 560 self.register_folder_finalizer(new_folder_path, context_id) 561 self._cached_temp_folders[context_id] = new_folder_path 562 C:\ProgramData\Anaconda3\lib\site-packages\joblib\_memmapping_reducer.py in register_folder_finalizer(self, pool_subfolder, context_id) 588 # semaphores and pipes 589 pool_module_name = whichmodule(delete_folder, 'delete_folder') --> 590 resource_tracker.register(pool_subfolder, "folder") 591 592 def _cleanup(): C:\ProgramData\Anaconda3\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py in register(self, name, rtype) 189 '''Register a named resource, and increment its refcount.''' 190 self.ensure_running() --> 191 self._send('REGISTER', name, rtype) 192 193 def unregister(self, name, rtype): C:\ProgramData\Anaconda3\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py in _send(self, cmd, name, rtype) 202 203 def _send(self, cmd, name, rtype): --> 204 msg = '{0}:{1}:{2}\n'.format(cmd, name, rtype).encode('ascii') 205 if len(name) > 512: 206 # posix guarantees that writes to a pipe of less than PIPE_BUF UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range(128)한글 인코딩이랑은 전혀 관련이 없는 상황인데 왜 이런 에러가 발생했는지 모르겠습니다.구글링을 해보니(https://stackoverflow.com/questions/64843631/question-about-sklearn-hyperparameter-optimization) 저와 비슷한 에러가 발생하는 사람이 있는데, 답변자는 없어서 혹시 철민님은 아실까 하여 여쭤봅니다.제 기억에는 아마 예전에 돌렸을 때는 정상 작동을 했었던 갓 같은데, 최근 다시 돌려보니 갑자기 왜 이런 문제가 발생했는지 모르겠습니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
행렬 분해 질문 드립니다!
안녕하십니까 선생님! 좋은 강의 감사하단 말씀 먼저 드리겠습니다~^^ 행렬분해 강의를 듣던중 궁금한 점이 생겨 질문드립니다.. 원본행렬로 부터 R = P * Q.T , 확률적 경사 하강법을 통해서 P와 Q라는 행렬로 분해가 되는것 이해가 됩니다. 하지만 factor의 차원을 정하는것? factor의 수? 해당 슬라이드와 교재에서는 factor1, factor2, 2개의 잠재요인으로써 P(4x2) Q(2x4) 행렬로 분해를 하였는데 당연히 저차원으로 분해를 하는 것이기에 M, N보단 작을 것이겠지만 굳이 (K=2)2차원으로 행렬분해를 하는 이유가 있는지.. 실제로는 User의 수와 Item의 수가 굉장히 클텐데 이 경우에도 K의 값은 증가 하나요? 따라서 원본행렬을 구하는 것이 목표이기에 적합한 K가 있는지 궁금합니다. 딥러닝 모델 구성에서 hidden layer의 수나 Node의 수를 결정하는 것처럼 경험적인 것인지 궁금합니다.. 감사합니다!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
ln[8]에서 groupby질문드립니다.
선생님 강의 감사합니다. 질문1) 선생님께서 ln[8]에서 의도하신 내용은 주문번호와 상품으로 일단 groupby 후에 다시 invoiceNo를 필터링해서 횟수를 알아내어 한 주문건당, 평균주문건수를 구하고 싶으셨던것 같은데 이미 groupby 를 'invoiceNo'하나만 한게 아니라 'stockCode'와 함께 해서 따로 'invoiceNo'만 필터링한다고 해도 두 컬럼 invoiceNo, 와 stockCode로이미 groupby가 되어버려서 필터링을 해도 값이 그대로 나옵니다. 선생님의 의도는 groupby('invoiceNo').count().mean()이 아닐런지요... 질문2)그리고 고객별로 몇번 주문했는지를 알려면 이 데이터의 경우 dataframe을 어떻게 다뤄야 할지 모르겠어요.즉, retail_df.groupby(['CustomerID','InvoiceDate'])하면 CustomerID InvoiceNo 12346 541431 1 12747 569397 15 554549 14 545321 12 577104 11 551992 9 538537 8 558265 8 537215 7 563949 7 581163 7 541677 5 12748 577057 154 568703 141 575117 140 Name: InvoiceNo, dtype: int64이런 결과가 나오는데 이 경우 'invoiceNo'의 컬럼만 따로 count() 하고 싶을때는 어떤 처리를 해야하는지요..즉 'customID'=12747 의 결과값이 11이 나오게 하려면요...감사합니다!!
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
랜덤포레스트와 변수중요도(feature importance)
선생님 안녕하세요. 랜덤포레스트의 변수 중요도와 관련한 질문입니다. 개인적으로 공부를 해봤을 때, 변수 중요도는 데이터의 차원축소를 하는 방법중 하나로 알고 있습니다. 즉, 차원축소에 변수 추출과 변인선택으로 구분되는데 그중 트리기반 알고리즘을 통한 변수 중요도는 변인 선택에 포함되어있다고 알고 있습니다. 만약 변수중요도를 기반으로 차원축소를 하고 싶을 때, 변수중요도에 따른 변수를 선택하는 기준이 있을까요? 어느 블로그에는 상위10개 또는 12개를 선택하는데 단순히 개인적 판단으로 이루어 지나요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
질문 있습니다.
강조하셨던 불린 인덱스는 해당 조건에 해당하는 index값으로 데이터를 조회해서 그대로 반환하기 때문에 무조건 1차원 ndarray로 나오는거죠?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
추천시스템 심화 내용에 대한 레퍼런스나 참조 코드 질문입니다!
안녕하세요! 여름에 강사님 강의를 열심히 듣고 머신러닝 여러 모델 구현에 도움을 받은 학생입니다! 컴퓨터비전과 Kaggle advanced 강의도 구입해놓아서 방학 때 들어볼 예정입니다 ㅎㅎ 다름이 아니라 이 강의에서 다루셨던 추천 시스템에 대해 배우고 좀 더 심화적으로 협업과 컨텐츠기반 필터링을 조합한 하이브리드 추천시스템에 대해 공부해보려고 하는데요.. 제가 몇일 간 Kaggle이나 towardscience같은 공간에서 검색해보았는데 뭔가 하이브리드 추천 시스템이 종류가 너무나도 많아서 기본적으로 어떤 조합으로 먼저 연습해봐야하는지 모르겠습니다.. 그리고 혹시 추천시스템에 대한 심화내용으로 강의를 제작할 계획은 없으시겠죠..? 하하.. 강의 내용 이외의 이야기일 수 있지만 작은 조언 부탁드리겠습니다. 감사합니다
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
graphviz 설치 어려우신분들
주피터 노트북에다가 아래처럼 입력하시고 실행하시면 설치됩니다! 저는 맥을쓰기때문에 강의에 설치방법이 잘 안나와서 2일동안 뒤지다가 겨우 설치 성공했네요... !pip install graphviz
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Online-retail분석시 Frequency관련질문드립니다
초기 데이터 가공시 Frequency는invoiceNo를count했고,이후 rename하면서 Frequency로 컬럼을 정했는데요. 데이터를 살펴보니 한고객이 어느날 하루에 7개의물건을 주문한것이 각 행별로 하나씩 생성되어있어서 count결과가 7이고, 다른날 각각 다른상품코드 8개를 주문하면 행이 8개가 생성되어 결과적으로 15가 됩니다 그야말로 상품을 종류별로 많이 사면 한날짜에 들어와서 100개의 상품을 산 고객과, 자주들어와서 2개씩, 3개씩 산 고객과 차이가 나지 않는데 괜찮은건가요? 제 생각에는 그 값이 Frequency라는단어적인 의미와는 맞지 않는것 같습니다. 제가 마케팅을 잘은 모르지만 한번들어와서 왕창 산고객보다는 자주 들어오는 loyalty를확인하는거라면 날짜별로groupby하는게 낳은게 아닐지요.. 히스토그램도 너무비대칭이고 좀 이상한거 같아요.. 만약 책처럼 invoiceNo를 count한다면 그건 주문건수와 관련있어서 Monetary와 종속되는 데이터같습니다 그만큼 주문을 많이 하면 총액은 늘어나는거니까요.. 선생님 좋은 의견 듣고싶습니다 항상 좋은강의감사드려요..ㅎㅎ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
n_epochs
SGD에서 수행 시 반복횟수 이터레이션이 정확히 무엇을 말하나요? 기억이 가물가물해서 그런데 혹시 디폴트 값이 20이면 전체데이털르 최대 20번까지 돌면서 학습하는 것인가요?? 혹시 만약 맞다면 같은 데이터를 계속학습한다면 어떤 장점이 있어서인가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
K-means의 중심점
K-means 중심점을 클러스터의 개수와 같이 생성하고 시작하는데 K-means 알고리즘을 진행하는데 맨 처음에 중심점은 어떤 기준으로 생성되는 건가요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
만들어진 모델에 다른 데이터 적용할 때 에러가 납니다..
안녕하세요, 선생님 강의 잘 듣고 있습니다. AdaboostClassifier 모델을 만들고 새로운 데이터를 Test 데이터와 똑같이 전처리하여 score 함수를 썼는데요,, 아래와 같은 에러가 뜹니다. valueError: Number of featues of the model must match the input. Model n_features in 1680 and input n_features in 1270 모델을 만들고 새로운 데이터를 넣어서 그 데이터가 분류가 잘 되는지 확인하기 위해 모델을 만든다고 생각하는데요. 처음에 모든 data를 넣어서 test와 train 데이터로 나누면 그건 한정된 데이터로 모델을 만드는게 아닌가란 생각이 듭니다.. stackoverflow에 찾아봐도 데이터를 모두 합친 후에 model을 만들라고 하네요. 새로운 데이터가 나올때마다 분류를 해야 하는데 어떻게 하면 위 에러가 안뜨게 할 수 있을까요..?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
classification stacking 질문입니다
안녕하세요, 스태킹 관련 강의를 들으면서 의문점이 생겨 질문을 남깁니다. diagram으로 잘 설명해주셔서 전반적으로 cross validation stacking이 어떻게 쌓이고 학습하는지 이해를 한 것 같습니다. 1. 스태킹 모델의 base는 이진 분류인지가 궁금합니다. 즉 모든 알고리즘들이 0 또는 1의 결과를 내는 건가요? multi-label classification인 경우에도 스태킹 모델을 사용 할 수 있는 건지 궁금합니다. 2. 이어서 원본 학습데이터의 feature들은 stacking 시 어떻게 되는지 궁금합니다. [예를 들어, (개별모델1 예측치 column, 개별모델2 예측치 column, 개별모델3 예측치 column, 개별모델4 예측치 column,) 이와 같이 4개로 stacking] meta model이 학습 하는 데이터의 feature(column)가 개별 모델의 원본 학습데이터의 예측치라면 원본 데이터의 feature들이 최종 결과값에 어떻게 반영되는지 이해가 잘 되지 않습니다. meta model의 학습 데이터는 각 모델이 결과로낸 predict proba로 구성되어 있는 건가요? 아니면 0 or 1로 구성되어 있나요? 제가 궁금한 부분을 말로 표현하기가 저도 어려운데... meta model이 학습하려는 데이터가 개별 모델의 결과값인 0 or 1의 값으로 혹은 각 feature에 따른 확률값의 데이터라면 어떻게 원본 학습 데이터의 각 feature들을 대변하는지 궁금합니다.
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
BayesianOptimization 과정 중에서 'module' object is not callable 오류가 발생합니다.
from sklearn.metrics import mean_squared_error import lightgbm as lgb def lgb_eval(num_leaves,feature_fraction,bagging_fraction,max_depth,min_data_in_leaf): params = {'num_leaves':int(round(num_leaves)), 'min_data_in_leaf':min_data_in_leaf, 'objective':'regression', 'max_depth':int(round(max_depth)), 'learning_rate':0.02, "boosting":'gbdt', "feature_fraction":feature_fraction, "bagging_freq":1, "bagging_fraction": bagging_fraction, "bagging_seed":11, "metric":'rmse', "random_state":2019} print("params:", params) lgb_model = lgb(**params) lgb_model.fit(X_train, y_train, eval_set=[(X_test, y_test)], early_stopping_rounds=30, eval_metric="rmse", verbose=100 ) best_iter = lgb_model.best_iteration_ print('best_iter:', best_iter) valid_proba = lgb_model.predict_proba(X_test, num_iteration=best_iter)[:, 1] rmse = np.sqrt(mean_squared_error(y_test, y_pred)) print('rmse:',rmse) return rmse ##################################### bayes_params = { 'num_leaves': (24, 45), 'feature_fraction':(0.5, 1), 'bagging_fraction': (0.5, 1), 'max_depth': (4, 12), 'min_data_in_leaf':(5, 50) } ################################# from bayes_opt import BayesianOptimization BO_lgb = BayesianOptimization(lgb_eval, bayes_params, random_state=0) ############################################### BO_lgb.maximize(init_points=5, n_iter=10) 안녕하세요 언제나 좋은 강의 감사합니다. 제가 lightgbm 모델을 BayesianOptimization을 통해 최적의 하이퍼 파라미터를 구하고자하는데, param이 print되는 것 까지는 진행이 되고나서, 아래 오류와 같이 'module' object is not callable 라는 안내문이 출력되엇습니다. lgb 모듈이 불러와지지 않앗다는 의미인것 같은데 import로 호출한 것과는 별개의 문제인가요? | iter | target | baggin... | featur... | max_depth | min_da... | num_le... | ------------------------------------------------------------------------------------- params: {'num_leaves': 33, 'min_data_in_leaf': 29.51974323486036, 'objective': 'regression', 'max_depth': 9, 'learning_rate': 0.02, 'boosting': 'gbdt', 'feature_fraction': 0.8575946831862098, 'bagging_freq': 1, 'bagging_fraction': 0.7744067519636624, 'bagging_seed': 11, 'metric': 'rmse', 'random_state': 2019} --------------------------------------------------------------------------- KeyError Traceback (most recent call last) E:\anaconda\lib\site-packages\bayes_opt\target_space.py in probe(self, params) 190 try: --> 191 target = self._cache[_hashable(x)] 192 except KeyError: KeyError: (0.7744067519636624, 0.8575946831862098, 8.822107008573152, 29.51974323486036, 32.896750786116996) During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) <ipython-input-103-adbdc94e6584> in <module> ----> 1 BO_lgb.maximize(init_points=5, n_iter=10) E:\anaconda\lib\site-packages\bayes_opt\bayesian_optimization.py in maximize(self, init_points, n_iter, acq, kappa, kappa_decay, kappa_decay_delay, xi, **gp_params) 183 iteration += 1 184 --> 185 self.probe(x_probe, lazy=False) 186 187 if self._bounds_transformer: E:\anaconda\lib\site-packages\bayes_opt\bayesian_optimization.py in probe(self, params, lazy) 114 self._queue.add(params) 115 else: --> 116 self._space.probe(params) 117 self.dispatch(Events.OPTIMIZATION_STEP) 118 E:\anaconda\lib\site-packages\bayes_opt\target_space.py in probe(self, params) 192 except KeyError: 193 params = dict(zip(self._keys, x)) --> 194 target = self.target_func(**params) 195 self.register(x, target) 196 return target <ipython-input-101-a7b26b7824de> in lgb_eval(num_leaves, feature_fraction, bagging_fraction, max_depth, min_data_in_leaf) 22 23 # 모델 훈련 ---> 24 lgb_model = lgb(**params) 25 lgb_model.fit(X_train, y_train, eval_set=[(X_test, y_test)], early_stopping_rounds=30, eval_metric="rmse", verbose=100 ) 26 best_iter = lgb_model.best_iteration_ TypeError: 'module' object is not callable
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
Bayesian Optimization 관련 질문드립니다.
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다 :) 다름이 아니라 수업을 들으며, 베이지안 최적화 방법을 통한 하이퍼 파라미터 튜닝 과정에서 헷갈리는 부분이 있어서 질문 올리게 되었습니다. 선생님이 예시로 보여주신 코드처럼 iteration을 수행할 때마다, 하이퍼 파라미터를 입력받아 학습하고 rmse 값을 반환하는 함수를 생성해주고자 합니다. 그런데 랜덤포레스트 모델에서 베이지안 최적화(cross validation 수행)을 하고자 할 때, 만약 평가 지표를 RMSE를 사용하고자 한다면 아래와 같이 코드를 작성하면 되는 것인가요? 구글링을 좀 해보니 함수 반환 값을 "return -mean_rmse"와 같이 뒤에 -1 을 곱해서 rmse 값을 최소화 해주어야 한다는 글을 몇 개 보았는데, 어떤 것이 맞는 건지 헷갈리네요... 즉, return 값에 "mean_rmse"를 해주는 것이 맞는지, 아니면 "-mean_rmse"를 해주는 것이 맞는지 궁금합니다. rf_bayes_params = { 'max_depth': (6, 12), 'min_samples_leaf': (8, 18), 'min_samples_split': (8, 20) } def rf_eval(max_depth, min_samples_leaf, min_samples_split): params = { # n_estimators 값은 100으로 고정 'n_estimators': 100, # 호출 시, 실수형 값들이 들어오므로 정수형 하이퍼 파라미터는 정수형으로 변경해줘야 함 'max_depth': int(round(max_depth)), 'min_samples_leaf': int(round(min_samples_leaf)), 'min_samples_split': int(round(min_samples_split)) } rf = RandomForestRegressor(**params, n_jobs = -1, random_state = 1021) # Cross Validation neg_mse_scores = cross_val_score(rf, X_features, y_target, # CV를 수행할 것이므로, 전체 학습 데이터 셋을 사용 scoring = 'neg_mean_squared_error', cv = 3) rmse_scores = np.sqrt(-1 * neg_mse_scores) mean_rmse = np.mean(rmse_scores) return mean_rmse rf_bayes = BayesianOptimization(f = rf_eval, pbounds = rf_bayes_params, random_state = 1021) rf_bayes.maximize(init_points = 5, n_iter = 25) rf_bayes.res
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
유저가 선호하는 장르의 추출에 관하여
특정 영화의 장르를 기준으로 유사도를 추출하고 영화를 추천하는 것이 아니라, 유저가 본 영화를 바탕으로 유저의 선호 장르를 추출하고 그를 기반으로 추천은 어떻게 해야하나요?? 유저가 본 영화들의 장르 벡터의 평균을 바탕으로 해야하나요?
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
유사도 매트릭스 도출
유사도 매트릭스 도출에서 궁금증이 생겨서 질문합니다! 유사도 매트릭스를 도출할 때에 장르를 기반으로 도출하였는데, 혹시 2개 이상의 feature를 가지고 유사도를 도출할 수도 있나요?? 예를 들면, genre와 keyword를 모두 사용한다면, 두 feature를 따로 CounterVecotrize 한 이후에 merge하면 되는 건가요??
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
transform_features(X_titanic_df)
2장에서 타이타닉 예제를 공부할 때 만들었던 함수가 3장에서 그대로 이용가능하다는 것은 이 함수가 전역함수인건가요...?ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
cross_val_score()
안녕하세요! 선생님 강의 잘 듣고 있습니다 : ) GridSearchCV말고 cross_val_score()을 적용한 경우, 코드를 보면 모델검증 과정에서 정확도를 계산하는 것에서 끝이 났는데 ,그 이후 과정인 test data를 예측하여 정확도를 계산하는 과정은 생략이 된것이 맞는거죠~?? : ) 교차검증을 할 때 train data를 2개 데이터셋(train, validation)으로 나눠서 하는 것이라고 이론에서 알려주셨는데, 코드에서는 train과 test data를 이용하여 cross_val_score검증을 했는데 어떤 것이 맞는 건가요...?ㅠㅠ
- 미해결[개정판] 파이썬 머신러닝 완벽 가이드
make_blobs
make_blobs로 샘플데이터를 한번만들어보는 것으로 이해했습니다 혹시 centroid한 데이터밖에 만들지 못하나요? 다른경우는 다른 API를 사용해야하나요?