안녕하세요 파이썬 사용 중 제목과 같은 에러가 발생하는데, 따로 건드린 설정 등은 없습니다. 에러는 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 의 이름을 수치형,범주형 각각 다르게 사용하여 컬럼 지정후 추후에 합쳐야하나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요! set 방법이 이제 생각나서 다시 돌아와서 보고 있습니다. set으로 확인하는 과정은 EDA에서 해주는게 맞죠? a = set(train['object컬럼명'].unique()) b = set(test['object컬럼명'].unique()) 이렇게 정의 해주었을때 test에 있는데 train에 없는 경우만 예외경우로 합쳐서 레이블 인코딩 해줘야하니 print(b-a) 만 해주면 되는거 맞죠? (굳이 a-b는 안해줘도되나 싶어서요) 이 값이 어떤 값이 나오면 합쳐서 레이블 인코딩 해주고 분리해주는거구요! 만약 합친 다음에 레이블 인코딩 해줘야한다면 <전처리 단계> target = train.pop('타겟컬럼') from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include='object').columns df = pd.concat([train,test]) for col in cols: le = LabelEncoder() df[col] = le.fit_transform(df[col]) train = df.iloc[:len(train)] test = df.iloc[len(train):] 이 순서대로 진행하면될까요? 마지막으로 합쳐서 레이블 인코딩 할때 object 컬럼이 여러개 있다면 (예를들어 6개가 object 컬럼이라면) 6개중 단 하나의 object 컬럼이라도 print(b-a) 했을때 값이 나온다면 합쳐서 레이블 인코딩 후 분리해주는거 맞죠?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 f1_score에서 숫자면 그대로 문자면 f1_score(실제값, 예측값, pos_label='1인값') 이라고 일전에 강의에서 설명해주셨는데요 여기서 말하는 문자, 숫자는 target 컬럼의 info를 보고 판단하는거 맞나요? 1인값에는 1인 카테고리 명을 쓰면 되는지 여쭤봅니다.
1) /n 'roc_auc:', roc_auc (roc_auc는 변수명) 이렇게 입력하던데 저기 / 슬러시는 반대로 작성하는 거 어찌하는건가요? 키보드에 어떤값을 눌러서 작성하신걸까요? gpt 에서는 shift 와 / 를 누르면 된다는데 전 ? 가 출력되거든요ㅜ 1-1) roc_auc: 뒤에 ':' 표시는 붙은 이유가 모든 값을 포함한다는 건지두요,, 2) 그리고 또하나는 f1 score나 roc 와 같은 점수 표시할때는 저렇게 코드 작성을 하던데 어떤 의미인지 궁금합니다. pd.DataFrame({'pred':pred)} 처럼 /n roc_auc: 를 지정한 roc_auc 변수명으로 대입한다는 뜻일까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 실제 시험 환경으로 실습 진행 중인데, 궁금한게 있어요 실제 시험에서 복사/붙여넣기가 불가능한가요? 예를 들어서 제가 작성한 코드를 복사해서 다른 코드에 또 활용한다던가 print문으로 나온 숫자를 복사해서 붙여넣는다거나 연습중에는 복사/붙여넣기가 안되더라구요 정답을 제출한 뒤 맞게 제출 했는지 확인을 위해 다시 풀이로 돌아갔는데 코드가 모두 지워져있었습니다. (풀이 > 정답제출 > 풀이) 실제 시험 중에도 이런 식으로 항목 이동을 하면 풀이 과정에서 진행했던 코드들이나 print문으로 추출한 숫자들이 삭제되는지 궁금합니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 선생님 작업형 2 유형 datetime 컬럼 관련해서 올려주신 글을 보고 1. datetime: 라벨인코더 진행 2. datetime: 드랍했을 때 3. datetime: datetime 변환 해서 점수를 내보았는데요. label encoder의 성능이 제일 좋았습니다. 혹시 label encoder로 모델을 검증한 것은 너무 과적합 된 값일까요? 과적합 되어있다면 datetime이 나올 경우 변환하는 것이 가장 좋은 방법일까요?