안녕하세요 강사님! 작업형2유형 질문이 있어서 글 남깁니다. pd.get_dummies 함수를 사용하면 컬럼수가 10개인것이 200개, 300개로 증가하는 경우가 있습니다. 문제가 없는건지 궁금합니다! concat 함수 말고 test = test.reindex(columns = train.columns, fill_value =0) 으로 train컬럼수와 test 컬럼수를 일치시켜도되는걸까요? 그리고 전처리 후 학습 및 평가를 할때 강사님께서는 train 데이터를 두개로 분리해서 80%로만 학습시키고, 20%로 예측 후 평가하시는 걸로 알고 있습니다. 이후 test 데이터를 예측할 때는 train 데이터 80% 학습한 모델을 통해 예측하는 걸로 이해했습니다. 만약 train 데이터 분리와 평가과정을 건너뛴다면, train 데이터 전체로 학습하고 test 데이터를 예측하는건데, 이부분은 상관이 없는걸까요?
from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1), train['output'], test_size=0.15, random_state=2022) 이런식으로 안 하고 전처리 과정에서 y = train.pop으로 해도 되나요?
이렇게 오류가 나는데 rmsle는 사용이 안 되는데 어떻게 하나요 r2는 큰게 좋다고 하시고 나머지는 작아야 좋다고 했는데 이렇게 나오는 경우 어떻게 하나요? 3. linearRegresssion은 random_state가 불가능인가요? 제공해주신 노트에는 다 랜덤값이 고정되있지 않읃데 0으로 고정하는게 맞는 거죠?
안녕하세요. 작업형2 검증 데이터 분리 부분에서 radom_state에 아무 값이나 넣어도 되는 것 맞나요? 예를 '작업형2모의문제2' 강의에서 선생님은 2022를 넣으셨고 저는 2025를 넣었는데 마지막 print(r2_score(y_test, pred)) 확인 부분에서 차이가 많이 나는 것 같아서요 (선생님 코드에서 결과: -0.03400981426239014 제가 실행한 결과: -0.013191699981689453)
CustomID를 삭제할 때 test 데이터에서도 완전히 삭제를 하는게 맞나요? train 데이터에서 삭제하는게 정석. 하지만 최종 파일 제출에 붙여야 하기 때문에 test 데이터에는 아래와 같이 pop함수를 를 써서 보관을 해둬야한다고 하셨던거 같아서요ㅜㅜ ex) test_id = test.pop('id')
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 선생님 roc-auc 는 프레딕프로바를 사용하면 좋다고하셨는데요. 제가 왕초보에다가 기간이 얼마 안남아서 혹시 그냥 predict로 통일해서 사용해도 괜찮을까요? 즉 40점 만점을 목표로 predict로 통일해도 predict proba와 유의미한 차이가 있을까요?
df=pd.concat([train, test]) df=pd.get_dummies(df) train=train.iloc[:len(train)] test=test.iloc[len(train):] print(train.shape, test.shape) print로 컬럼 수 일치하는지 반드시 확인이라고 햇는데 어떤 컬럼수가 어떤거랑 일치해야하는거죠?? 아 그리고 이렇게 분리를 다시 했으면 train_test_split 이 코딩은 더 안해도되나요? 이것도 또 해야하나요? X_tr, X_val, y_tr, y_val 이요
주피터 실행 명령어 부분에서 동일하게 명령어를 실행했는데, PATH부터 HOME까지 여러 설정 정보들이 출력된 후 다시 터미널로 돌아옵니다. docker ps를 해보면 실행중인 컨테이너는 없고, 생성되었다가 바로 종료되는 것으로 보입니다. 왜 그런걸까요? 이미지 버전은 v163입니다. 추가로 명령어 부분에 /bin/bash -c "jupyter lab --ip=0.0.0.0 --port=8888 --allow-root --no-browser" 를 추가해보았는데요. 이때도 open browser를 클릭하면 localhost 로만 연결되며 제대로된 화면이 나오지 않고 있습니다. 로그를 보니 여러번 redirect 되더라구요. 토큰 인증이 되어있지 않다고 나와있는 것 같습니다. 아무튼 이 방법은 오픈 브라우저 요청은 뜨지만 강의처럼 클릭시 인증 화면이 뜨지 않고 있습니다.
트레인 테스트 인포에서 object 타입이 없어서 원핫인코딩 안하고 바로 분할부터 시작했다고 이해했는데,, 제가 이해한게 맞을까요??? 그리고 랜덤포레스트 돌리고 샘플 받고 roc-auc-scre 돌리고 샘플 받고 최종 파일 샘플 볼때,,, 세 샘플로 서로 비교하면서?? 제대로 잘 나온건지 확인?? 하는 방법?? 이 있는지 궁금합니다
작업형2 연습문제4에서 풀이는 아래와 같은데, # 결측치 처리 train = train.fillna("X") test = test.fillna("X") # train과 test 합쳐서 원핫인코딩 combined = pd.concat([train, test]) combined_dummies = pd.get_dummies(combined) n_train = len(train) train = combined_dummies[:n_train] test = combined_dummies[n_train:] 저는 다음과 같이 결측치가 있는 object 항 삭제 후 label encoder 진행해서 풀었습니다. 오류 없이 작동했으면 괜찮은 건가요? cols = ['gender', 'enrolled_university', 'education_level', 'major_discipline', 'experience', 'company_size', 'company_type', 'last_new_job'] train = train.drop(cols, axis=1) test = test.drop(cols, axis=1) # print(train.shape) # test.isnull().sum() # print(test.shape) from sklearn.preprocessing import LabelEncoder colss = train.select_dtypes(include='O').columns for col in colss: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) 만약에 결측치 있는 object 항 제거하고 label encoder 코드 작성했을 때 오류가 생기면 이때는 합쳐서 원핫 인코딩 하면 될까요?