• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

다르게 적용해보는 Feature Engineering2 강의에서 질문입니다

23.07.30 21:04 작성 조회수 143

0

다르게 적용해보는 Feature Engineering2 강의의 15:11 부분부터 궁금한 점이 있어 질문 올립니다.

해당 강의에서는 다음과 같이 2개의 리스트를 작성하였는데요

family_survival_rate = list()
family_survival_rate_NA = list()

동승자가 있는지/없는지를 기준으로 2개의 리스트에 값을 각각 넣어준다는 전체적인 과정은 이해했지만, 사실 family_survival_rate_NA 리스트는 어떤 이유로 존재하는 것인지에 대한 설명이 조금 필요한 것 같습니다.

 

family_survival_rate = list()
mean_survival_rate = np.mean(df_train['Survived']) # 0.3838383838383838

for i in range(len(df_all)):
    if df_all['Family_Name'][i] in family_rates: # 동승자가 있는 경우   
        
        family_survival_rate.append(family_rates[df_all['Family_Name'][i]]) # family_rates[df_all['Family_Name'][i]] -> family_rates 딕셔너리에서 위의 이름들을 키 값으로 하고, 이에 해당하는 Survived 값을 찾음

    else: # 동승자가 없는 경우                                             
        family_survival_rate.append(mean_survival_rate)

 

동승자가 있으면 family_survival_rate 리스트에 Survived 컬럼의 생존 확률을 넣고,

동승자가 없으면 family_survival_rate 리스트에 생존 확률의 평균값을 넣어주면 충분한 것 아닌가 하는 생각이 드는데요,

 

family_survival_rate_NA 리스트가 어떤 용도로 사용되는 것인지, 그리고 왜 값은 0과 1만을 넣는 것인지 조금 더 설명해 주시면 감사할 것 같습니다!!

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

머신러닝 모델에 보다 더 확신있게 학습을 시키기 위해서, family_survival_rate_NA를 추가해본 것인데요. 모델에게 특정 승객이 동승자와 함께 여행했는지 여부를 나타내는 이진 피처로 사용될 수 있습니다. 이것은 동승자의 유무 자체가 생존에 영향을 미칠 수 있음을 반영하게 해줍니다.

예를 들어, 동승자가 있는 승객과 없는 승객 간의 생존율에 차이가 있을 수 있으므로, 이러한 정보를 말씀하신 다른 피처로도 간접 학습이 되지만, 보다 더 강하게 명시적으로 학습을 시키고자, 해당 피처를 별도로 만들어 본 것입니다. 이러한 작업이 가끔 모델이 패턴을 학습하는 데 도움이 될 수 있기 때문입니다.

감사합ㄴ디ㅏ.