편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.10.17

    파이썬 decision tree dropna() 사용 질문입니다 고수분들 환영입니다 !!


    파이썬에서 decision tree를 구축할 때 있어서 weighted_memory를 구해야되는데

    그 과정에서 entropy 값을 구하는 코드가 이해가 안되서 질문 올립니다.

     Weighted_Entropy = np.sum([(counts[i] / np.sum(counts)) 
                                          * entropy(data.where(data[feature] == vals[i]).dropna()[class]) \
                                           for i in range(len(vals))])
    

    에서 entropy를 값을 구할 때 제가 이해하는 개념은 featurevals[i]일때 각 class가 각 class일 확률들을 모두 더한 값을 entropy 값이라고 이해하고 있습니다.

    제가 이해한 개념은 맞다고 생각하는데 여기서 왜 dropna()를 사용했고, 바로 뒤에 class가 붙는게 무슨의미인지 문법적으로도 이해가 잘 가지않고 코드상에서의 이해도 잘 되지 않습니다. 제가 이해한 개념이 틀리다면 틀린 것도 지적 환영합니다.

    이에 대해서 잘 아시는 분이 계시다면 설명 부탁드리겠습니다!

  • 프로필 dopenik님의 편집
    날짜2020.10.16

    파이썬 decision tree dropna() 사용 질문입니다 고수분들 환영입니다 !!


    파이썬에서 decision tree를 구축할 때 있어서 weighted_memory를 구해야되는데

    그 과정에서 entropy 값을 구하는 코드가 이해가 안되서 질문 올립니다.

    Weighted_Entropy = np.sum([(counts[i] / np.sum(counts)) * entropy(data.where(data[feature] == vals[i]).dropna()[class]) \ for i in range(len(vals))])

    에서 entropy를 값을 구할 때 제가 이해하는 개념은 feature가 vals[i]일때 각 class가 각 class일 확률들을

    모두 더한 값을 entropy 값이라고 이해하고 있습니다. 제가 이해한 개념은 맞다고 생각하는데

    여기서 왜 dropna()를 사용했고, 바로 뒤에 class가 붙는게 무슨의미인지 문법적으로도 이해가 잘 가지않고

    코드상에서의 이해도 잘 되지 않습니다. 제가 이해한 개념이 틀리다면 틀린 것도 지적 환영합니다.

    이에 대해서 잘 아시는 분이 계시다면 설명 부탁드리겠습니다!!