학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요! 이전에 random forest classifier에서는 n_estimators랑 max_depth로 파라미터 튜닝이 가능하다고 말씀해 주셨는데요. 제 기억에 분류 모델에서만 적용이 가능했던 것 같은데 Random forest regression에서도 적용해도 되는 걸까요? rf = RandomForestRegressor(random_state=0, n_estimators = 500, max_depth = 5) 이렇게요..! 그리고 각 파라미터의 적정 range가 어느 정도인지도 궁금합니다.
Lowest common ancestor of a binary tree문제에서 아래 코드가 정답 코드로 알고 있는데, # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def lowestCommonAncestor( self, root: "TreeNode", p: "TreeNode", q: "TreeNode" ) -> "TreeNode": if root == None: return None left = self.lowestCommonAncestor(root.left, p, q) right = self.lowestCommonAncestor(root.right, p, q) if root.val == p.val or root.val == q.val: return root elif left and right: return root else: return left or right # elif left: # return left # elif right: # return right # else: # reutrn None 위 코드에서 아래 부분을 해주는 이유가 무엇인지 궁금합니다. if root.val == p.val or root.val == q.val: return root elif left and right: return root else: return left or right
안녕하세요, 공지로 알려주신 캐글 T2-6(시계열데이터가 있는 문제)를 풀고 있는데요! 모델 학습을 하는 과정에서 모델 별 평가 점수가 너무 크게 차이 나서 문의드립니다. 우선 풀이와 조금 다른점이 있다면 , 전처리 과정에서 datetime의 년,월,일 뿐만 아니라 시,분,초까지 칼럼으로 추가했다는 점입니다. train.head() 선형회귀로 학습했을 때) RMSE : 141.97306616836775 R2 : 0.39335324789512727 랜덤포레스트로 학습했을 때) RMSE : 44.64624546594813 (하이퍼파라미터 튜닝x) R2 : 0.9400079312167055 모델을 선형회귀로 학습했을 때랑 랜덤포레스트로 학습했을 때 점수차이가 너무 크게 나는데 뭔가 잘못된 부분이 있는걸까요..? 풀이의 모델들 점수가 오히려 선형회귀모델과 비슷한 0.4 정도가 나오는 것으로 보여서 이렇게 유난히 높게 나오는 랜덤포레스트 모델을 선택해도 괜찮은 것인지 궁금합니다. 확인 부탁드립니다!
안녕하세요 파이썬 사용 중 제목과 같은 에러가 발생하는데, 따로 건드린 설정 등은 없습니다. 에러는 pip --version, python -m pip install --upgrade pip 등을 사용할 때 발생하고 일반 파이썬 파일 실행 시엔 발생하지 않습니다. (ppirnt 라이브러리 사용시엔 실행x) 에러가 발생하는 파이썬 디렉터리에 보니 pprint_ 1.py 로 되어 있어 pprint.py 로 변경하니 에러는 해결되었습니다. 혹시 이렇게 파이썬 기본 라이브러리명이 변경되는 경우가 있나요??
최종 제출시에 train_test_split을 통해 나누어진 X_tr,y_tr을 학습한 모델로 답을 제출하면 X_val 데이터 만큼의 데이터를 학습하지 못해 손해가 발생할 것 같습니다. 데이터를 X_tr,X_val,y_tr,y_val 로 나누어서 어떤 모델이 가장 성능이 좋은지 검증한 후에 최종 제출할때는 전체데이터를 다시 학습한 모델로 pred 를 만들어 제출할려고 하는데 이렇게 해도 문제가 없을지 궁금합니다
선생님께서 rmse 구할때 이런 함수를 사용해서 이렇게 하라고 하셨는데 from sklearn.metrics import mean_squared_error def rmse(y_true, y_pred): mse = mean_squared_error(y_true, y_pred) return mse ** 0.5 result = rmse(y_val, pred) 혹시 이렇게 함수식을 안쓰고 from sklearn.metrics import mean_squared_error rmse = mean_squared_error(y_val, pred) ** 0.5 print(rmse) 이런 방식으로 rmse를 구해도 되나요?
안녕하세요 선생님, 질문드립니다~ 에시문제 작업형2(신버전)에서 보면 1) roc_auc_score로 평가한다고 되어있지만, 2) 제출 csv 파일 형식 예시를 보면 확률값이 아닌 0또는1로 적혀있습니다. 그러면 제출할때 predict_proba가 아닌 predict로 예측한 결과값을 제출해야하는 것 아닌가요? 선생님이 작성하신 결과값이 확률값으로 되어있어 질문드립니다.
roc_auc 검증과 cross_val_score은 같이 쓸 필요가 없죠?? 둘다 성능 평가를 하는 것으로 이해가 돼서 둘 중에 한개를 진행하면 되겠죠? roc_auc는 데이터 분할 train_test_split이 필요하고, cross_val_scroe은 필요 없고, fit에 fit(x_tr, y_tr) 생략하고 바로 test 값을 rf.predict(test)로 예측해서 제출하면 되는 걸까요?
cross_val_score 홀드아웃 교차검증 사용할 때 순서 부탁드려요 get_dummies 다음 부터 model ex)randomforestclassifier -> cross val score -> fit and predict인가요?? 만약에 그렇다면 fit (x_tr, y_tr) / predict(x_val)이 들어가야 하지 않나요? 그러면 train_test_split을 이전에 했어야하는 게 아닌가 싶어서요 설명 부탁드립니다. 감사합니다.
시험시 label 인코딩으로 문제를 풀려고 하는데요 데이터가 수치형, 범주형 나눠져있을때 , n_train = train.select _dtypes(exclude ='object').copy() n_test = test.select _dtypes(exclude ='object').copy() c_train = train.select _dtypes(include ='object').copy() c_test = test.select _dtypes(include ='object').copy() 이렇게 나눈후 n_ train과 n_test에는 scaling, c_train과 c_test에는 label 인코딩한 후 pd.concat으로 합치는것과 cols = ['수치형 데이터 컬럼 선택'] 수치형 데이터 스케일링, cols = ['범주형 데이터 컬럼 선택'] for i in cols 범주형 데이터 라벨 인코딩 1번과 2번에 차이가 있을까요? 어떤경우에 어떤것을 사용해야 하나요? 또 , 2번 방법 사용시 cols 의 이름을 수치형,범주형 각각 다르게 사용하여 컬럼 지정후 추후에 합쳐야하나요?