인프런 커뮤니티 질문&답변

김태범님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

3회 기출유형(작업형2)

3회 빅데이터 분석기사 실기(작업형2) 질문

해결된 질문

23.06.07 23:05 작성

·

232

0

안녕하세요 강사님 강의듣던 와중에 질문 있습니다!

  1. 2회 작업형2에서는 수치형변수 스케일링 과정이 없었고 이번 3회작업형2에서는 수치형변수 스케일링 과정이 있네요. 혹시 이유가 있을까요? 또 3회에서 MinMaxScaler나 StandardScaler를 쓰는것 또한 저의 재량인지 궁금합니다.\

 

  1. 2회에서는 copy의 과정이 없었는데 3회에서는 copy를 한 이유가 있나요? 시험장에서 어떤방식으로 밀고나가야할지 혼란스러워요ㅠ

 

  1. 괄호안에 ' ' 와 " " 는 동일한가요?

 

  1. 검증데이터 분리시 train_test_split(train.drop('TravelInsurance', axis =1), train['TravelInsurance'] 에서 TravelInsurance를 drop한 이유가 뭔가요? 2회 작업형2에서는 ID를 drop한건 학습할때 필요가 없어서로 알고있는데 해당 문제에서는 Unnamed를 drop해야하는것 아닐까요? 헷갈리네요ㅠㅠ

 

  1. 수치형 변수 스케일링 과정에서

    cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases'] display(n_train.head()) n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) n_train.head()

이 부분에서 2회 작업형 2번처럼 cols안에 여러개가 들어있으므로

아래와 같이 반복문을 쓰거나

for col in cols: le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col])

아래와 같이 일일히 col을 설정해줘야 오류가 안생기지 않나요?

# col = 'Warehouse_block' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Mode_of_Shipment' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Product_importance' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Gender' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col])

 

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2023. 06. 07. 23:16

  1. 스케일링은
    필수 아니고 선택입니다. 트리계열의 모델에서는 드라마틱한 효과가 없어요!
    하나만 알고 계셔도 되고, 여유가 되면 적용을 추천합니다.
    작업형2는 영상마다 약간씩 다르게 진행할 거에요! 한번에 모든 것을 알려드릴 순 없어 하나씩 다르게 작업하고 있다고 봐주세요!

  2. copy()는 데이터 프레임을 옮겨 담을 때 새로운 변수명에다가 담게 되면 반드시 copy()를 붙여주세요!! 사본(복사본)임을 표시해야 워닝이 발생하지 않습니다.
    예 df = df.sort_values(작업....) <- 안해도됨
    예 df2 = df.sort_values(작업...).copy() <- 새로운 변수에 복사

  3. 네 동일합니다.

  4. TravelInsurance은 우리가 예측해야하는 컬럼 그러니깐 y데이터, label, target이라 불립니다.
    fit(X데이터, y데이터)를 입력으로 넣어야 해서 train에 있는 y데이터를 삭제한 값을 인풋으로 넣었어요!
    작업형2 모의고사 1,2,3 그리고 기출 4,5회까지 반복해보면 감이 오실거에요~~:)

  5. 5번은
    네 반복문을 활용하거나 5번의 라벨인코딩을 반복하거나 하면됩니다.
    아래쪽 코드가 한줄로 보여서 제가 읽을 수가 없네요 질문에 코드가 있을 때는
    코드블럭 아이콘을 활용해주세요 :)