실기 2회의 작업형 2번에서 X_train, y_train, X_test로 데이터가 구성 되어 있는데 X_train의 데이터를 라벨인코딩 하려고 하니깐 y should be a 1d array, got an array of shape (8799, 4) instead. 이런 내용의 에러 메세지가 떴습니다. 모델의 타겟 변수인 'y'가 2차원 배열이 아닌 1차원 배열이어야 한다는 내용입니다. # 라벨인코딩 제가 작성한 코드입니다. cols = ['Warehouse_block', 'Mode_of_Shipment', 'Product_importance', 'Gender'] from sklearn.preprocessing import LabelEncoder le=LabelEncoder() X_train[cols] = le.fit _transform(X_train[cols]) X_test[cols] = le.transform(X_test[cols]) 질문1 X_train, y_train, X_test로 데이터가 구성 되어있으면 무조건 X_train, y_trian을 합쳐서 라벨인코딩을 해야하나요? 질문2 합치지 않고도 쉽게 할 수 있는 방법이 있나요?
안녕하세요 선생님 다름이 아니라 test의 결측치를 대체할 때 data leakage 문제로 인해 train의 평균값이나 중위수로 대체해주시는걸 보고 궁금한게 있어 질문드립니다. 최빈값 같은 경우는 train의 최빈값으로 안하고 test의 최빈값으로 대체해주셨는데 데이터 누수를 방지하려면 최빈값도 똑같이 train의 최빈값으로 해주는 것인지 아니면 범주형 변수는 상관 없고 수치형 변수만 train값으로 해주는 것인지 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 데이터 전처리 인터넷 강의를 들으며 궁금한게 있어 질문드립니다. '특정컬럼에 결측치가 있으면 데이터(행) 삭제'라는 의미가 무엇인지 모르겠고 왜 사용해야하는지 모르겠습니다. 즉, df = X_train.drona(axis =0)과 무슨 차이가 있는지 모르겠고 이걸로만 해결하면 될 것 같습니다. 제가 이해한 것은, native.country 칼럼에서만 결측치를 지우고 싶을 때 사용하면 되는 것인가요? 그리고 이렇게 사용해야 데이터의 정확도가 높아진다고 보면 될까요? 두서없이 작성하느라 죄송합니다 ㅠㅠ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 독립성 검정시 데이터 프레임 만들때 인댁스 안만들어도 된다고 하셧는데 감점안되나요? 최대한 간단하게 ㅇ외우려고 하는데 뺄수있는건 빼고싶어서요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 df = pd.concat([X_train,y_train['Reached.on.Time_Y.N']],axis=1) cols = X_train.select_dtypes(include='object').columns for col in cols : le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) x_train과 y_train을 합치는 이유는 x_train 에는 값을 가지고 있지 않지만 y_train에는 값을 가질 수도 있기 때문에 합치는 거라고 배웠던 것 같은데 맞나요? 그렇다면 cols = X_train.select_dtypes(include='object').columns 해당구문은 cols = df.select_dtypes(include='object').columns 이렇게 합쳐진 df에서 cols를 구해야 할 것 같다고 생각이 드는데 틀렸나요 ? 혹은 해당 데이터는 x_train과 y_train 컬럼 값에 차이가 없기 때문에 X_train 로 그냥 진행이된건가요 ?! 제가 이해한게 맞는지 잘 모르겠어서 질문합니다.
안녕하세요! f3의 결측치를 변환할 때 .replace()와 .map()을 알려주셨는데요, 두 개의 차이가 궁금해서 질문드립니다! 아래는 제가 푼 풀이 과정인데 결과는 133이 나오더라고요! # f3의 결측치를 0으로 변환 # dt['f3'].isnull().sum() # 변환 전 28개 dt['f3'] = dt['f3'].fillna(0) # dt['f3'].isnull().sum() # 변환 후 0개 # silver를 1, gold는 2, vip는 3으로 변환 a = {"silver" : 1, "gold" : 2, "vip" : 3} dt['f3'] = dt['f3'].replace(a) # 총 합 구하기 print(int(sum(dt['f3']))) 강의를 보니 .replace()는 앞에서부터 하나씩 순차적으로 변환되고 .map()은 딕셔너리를 사용해 일괄 변환된다고 하셨는데, (제가 이해한 게 맞을까요..?) 제가 푼 풀이 과정은 딕셔너리를 만들어서 replace로 변환한 거라 이것도 맞는 과정인지, 우연의 일치인지 궁금합니다!ㅠㅠ 감사합니다!
안녕하세요 선생님! 5-1 수업에서 이해가 되지 않는 부분이 있어서 문의글 남깁니다. 이 부분에서 보시면 print 문은 4개인데, 결과로 나오는 값은 5개(블럭 표시 되어있는 부분)더라구요..! 제가 실행했을 때의 값과 비교해보니 순서대로 정확도(0.96668~), 정밀도(0.94444~), 재현율(0.843511~), F1(0.89112~) 값이 출력된 것 같은데요, 마지막 값(0.87169~)은 어떤 문장의 결과일까요?ㅠㅠ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 라이브러리 및 데이터 불러오기 강의에서 X_train, X_test는 왜 필요한지 알겠습니다. 근데 y_train은 왜 필요한거예요? target(label)이라고 생각하면 될까요? 즉, 이게 맞는지 아닌지 판단하는 기준이라고 생각하면 될까요?