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

김태범님의 프로필 이미지
김태범

작성한 질문수

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

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

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

해결된 질문

작성

·

247

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

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

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


김태범님의 프로필 이미지
김태범

작성한 질문수

질문하기