라벨인코딩이랑 원핫인코딩의 경우 X_train의 데이터 타입 확인 시 object 형 컬럼이 있을때만 시행하는게 맞는걸까요? 만약 전체 컬럼이 int형 또는 float 형일때는 안해줘도 되는건가요? 만일 X_train 데이터에는 object 컬럼이 없는데 X_test 데이터에는 object 컬럼이 있어도 라벨인코딩 또는 원핫인코딩을 시행해줘야되는걸까요? 추가적으로 데이터 분리의 경우 언제 사용해주는건가요?? 작업형 2유형에서 무조건적으로 사용해줘도 문제없는건지 아니면 사용할 조건이 있는건지 궁금합니다 ㅠㅠ
랜덤포레스트 하나만 실시 후에 예측 했는데요 오류가 뜨는데 이유를 모르겠습니다... /usr/local/lib/python3.10/dist-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but RandomForestClassifier was fitted with feature names warnings.warn( --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-106-aa9a7e4fa732> in <cell line: 2>() 1 # 예측 ----> 2 pred = model.predict_proba(X_test) 3 pred 3 frames /usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name) 900 # If input is 1D raise error 901 if array.ndim == 1: --> 902 raise ValueError( 903 "Expected 2D array, got 1D array instead:\narray={}.\n" 904 "Reshape your data either using array.reshape(-1, 1) if " ValueError: Expected 2D array, got 1D array instead: array=[ 8285. 10192. 8675. ... 7390. 9977. 5696.]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train, test_size=0.2, random_state=2022) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape 데이터 분리 문제입니다. 플이를 보니 저번에 여쭤볼때 train에 target값이 있으면 제외한다고 하셨는데 train값에 target값이 들어있는데 왜 train.drop를 쓴게 아니라 그냥 train값만 넣은건지 궁금합니다!!!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 df.T로 변환하여 칼럼으로 프린트를 하려고했더니 다음과 같이 Series 오류가 발생합니다.Series 오류가 무엇이고 어떻게 해결하면 될까요??
해당 문제는 predict_proba 로 해야 하는 이유가 무엇인가요 ? 아래코드처럼 predict 으로 하면 안되는 이유가 있나요 ? 문제에서 둘을 어떻게 구분해서 써야하는건지 모르겠어요. pred = model.predict(X_val) roc_auc_score(y_val, pred) pred = model.predict(X_test) submit = pd.DataFrame( { 'cust_id':cust_id, 'gender':pred } )
문제 3에서 총 3가지의 해결법을 알려주셨는데요문제에는 f3 컬럼의 결측치는 0 실버는 1 골드는 2 … 변환한 후 총 합을 정수형으로 출력 하시오 라고 되어있어서 혹여나 실전에서 마지막방법인 조건형으로 풀다가 변환을 하지 않고 ㅍ풀었다고 감점이 될거같아 걱정이 되서 여쭙니다 세번째 방법으로 풀어도 감점 안되나요?
# 학습용 데이터와 검증용 데이터로 구분 from sklearn.model_selection import train_test_split y = (y_train['income'] == '>50K').astype(int) X_tr, X_val, y_tr, y_val = train_test_split(X_train, y, test_size=0.1, random_state=2022) 이 부분이 이해가 잘 가지 않아요. X_tr, X_val, y_tr, y_val 이렇게 4개에 지정하는데, test_split은 X_train, y 이렇게 두개만 들어가고.. y_train이 아닌 y만 넣는 이유도 모르겠습니다 ㅠ
안녕하세요 선생님, 상세한 강의 잘 듣고 있습니다. 감사합니다. 수강 중, 위의 [섹션4. 2유형] 강의 내용 중 문의사항이 있어 질문을 남깁니다. [동일 내용 문의 링크] 맨 마지막 p3에서 2,482명이 나와야 되는거 아닌가요??? - 인프런 | 질문 & 답변 (inflearn.com) 문의 커뮤니티 내 동일한 질문이 있어 일부 연장선 문의를 드립니다. (체험) 제2유형 - 체험하기 (goorm.io) - 해당문제 model1, model2 을 평균을 내서 최종 모델 p3을 만들고 이를 적용했을 때 최근 답변 기준으로 2482개에서 1611개를 제외한 871개의 행이 출력되는 부분은 이해하였습니다. 연습 중 제출 형식을 보니, 규정에는 총 2482개의 온전한 데이터 예측 결과를 제출해야 한다고 명시되어 있고 이를 강의 상의 871개짜리 데이터로 최종 제출해도 채점 기준에 부합하는지 궁금합니다. 저는 TEST 파일은 열 생략이나 결측지 보정 들의 수정이 가해지면 안되는 원본 데이터의 상태 로 예측 모델을 적용하는 것으로 인지하고 있는데, 해당 부분에 대한 보충 회신을 주시면 감사드리겠습니다. (채점을 위한 기관측의 추가 별도 데이터를 대입하여 예측결과가 실제로 산출되는지 확인하는 부분이 있다하여, 모든 독립변수 행에 대해서도 대응할 수 있는 모델에 대해서 추가 설명이 있으면 도움이 될 것 같습니다.) 제가 강의 내용 중 못 따라간 부분이 있을 수도 있어, 코드 작성 내 놓친 부분이 있는지 계속 수강내용과 확인해 보겠습니다. 감사합니다.
작업형 1-3에서 a.nunique().sort_values(ascending=False).index[0] 명령을 보내면, nunique중 첫 번째 문자열과 두 번째 개수 중에 개수로 정렬되는 이유가 궁금하고.. index[0]를 하면 문자열만 나오는 이유도 궁금하네요. 저렇게 하면 왜 정렬된 첫번째 열의 이름과 개수가 함께 나오지 않는지.. 두 명령 모두 문법이 눈에 익지 않네요..
df = df.groupby('month').count() df.sort_values('subscribed').index[0] 선생님 groupby랑 sort의 차이 부탁 드립니다. groupby는 하나의 그룹으로 묶어서 정렬하는 것이고 sort는 컬럼별로 정렬할 수 있는 것인가요?ㅠㅠ 쓰임새가 어떨 때 쓸 수 있는 건지 궁금합니다. 그리고 구독수의 가장 적은 값을 index[0]로 뽑아주셨는데요~! iloc나 loc로 구할 수는 없을까요? .index[0]은 sort말고 아무데나 붙여도 첫번째 인덱스가 나오는 건가요?ㅠㅠ...
안녕하세요^^ ㅠㅠ 제가 비전공자에 강의를 1번 다 듣고 다시 돌려서 복습하는데도 아직 습득이 느려서 궁금한 사항이 있습니다. 문제 3번 풀이 방법1 replace에서 numpy를 사용하시는데 numpy되도록 거의 안사용하시고 pandas로 풀이해주시는 걸로 알고 있는데 이부분에서는 꼭 사용해야만 하는 이유가 결측값을 찾을 때 어떤 부분에서 사용하는 걸까요? 제가 혼자 풀이할 때 import numpy as np를 사용안하고 그냥 나머지를 동일하게 풀었을 때도 133이 나오긴 하더라구요? ㅠ.ㅠ 잘 모르겟어서 질문드립니다 항상 친절하게 답변해쥬셔서 감사합니다
안녕하세요 선생님 train과 test unique값이 다를 경우에 대해서 궁금한 점이 있어 질문드립니다. df = pd.concat([X_train, X_test]) ddf = pd.get_dummies(df) n = len(X_train) X_train = ddf[:n] X_test = ddf[n:] 저번에 선생님께서 다를 경우 이런식으로 합친 다음에 원핫인코딩 해준다고 말씀해주셨는데 만약에 unique값이 너무 많을 경우에는 이런식으로 합친 다음에 레이블 인코딩을 진행해도 될까요? df = pd.concat([X_train.assign(ind = 'train'), X_test.assign(ind = 'test')]) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() df[cols] = df[cols].apply(le.fit_transform) X_train = df[df['ind'] == 'train'].copy() X_train = X_train.drop('ind', axis = 1) X_test = df[df['ind'] == 'test'].copy() X_test = X_test.drop('ind', axis = 1)