pbj0812의 코딩 일기

[수학] PYTHON 을 통한 자카드 유사도 구현 본문

Science/수학

[수학] PYTHON 을 통한 자카드 유사도 구현

pbj0812 2020. 11. 18. 02:26

0. 목표

 - PYTHON 을 통한 자카드 유사도 구현

1. 실습

 1) 데이터 생성

data1 = 'I am a boy'
data2 = 'I am a girl'

 2) 자카드 유사도 계산 모듈 구현

  - set 을 통한 중복 단어 제거

  - 자카드 유사도 : 교집합의 길이 / 합집합의 길이

# inp1 : data1
# inp2 : data2
def JaccardSimilarity(inp1, inp2):
    list_inp1 = inp1.split()
    list_inp2 = inp2.split()
    mom = set(list_inp1).union(set(list_inp2))
    son = set(list_inp1).intersection(set(list_inp2))
    print(mom)
    print(son)
    return len(son)/len(mom)

 3) 테스트

JaccardSimilarity(data1, data2)

  - 결과

{'boy', 'am', 'I', 'a', 'girl'}
{'a', 'I', 'am'}

0.6

2. 참고

 - 2) 여러가지 유사도 기법

Comments