죄송합니다. 이것이 멍청한 질문 이었지만 목록에서 비슷한 값을 찾으려고했습니다. 사실 좀 더 구체적으로 말하면, 내가 점수를 매길 수있는 방법이 있는지 알고 싶었습니다.유사도에 대한 숫자 목록을 비교하는 알고리즘?
저는 파이썬에서 하나의리스트를 취해서 '=='를 사용하여 똑같은지 확인할 수 있지만, 똑같지는 않지만 대신에 비슷한 값 (또는 아님)을가집니다.
#Batch one
[1, 10, 20]
[5, 15, 10]
[70, 19, 15]
[50, 40, 20]
#Batch two
[46, 19, 8]
[6, 14, 8]
[2, 11, 44]
내가/점수가 서로 얼마나 비슷한에 의해 두 개의 배치를 평가하고자하는 말 :
다음은 예입니다. 모든 숫자를 더하고 총 값으로 비교할 수 있다고 생각했지만, [5,6,1000] [600, 200, 211]이 비슷하게 보이기 때문에 효과가 있다고 생각하지 않습니다. 이 예에서 [5, 15, 10] 및 [6, 14, 8]은 가장 높은 점수를 얻어야합니다.
나는 각 값을 나눠서 생각하고 백분율 차이를 살펴 보았지만 목록이 여러 변수로 커지면 비용이 많이 든다. (결국 각각 800 개 이상의 변수가있는 수천 개의 목록이있을 수있다. 더 나은 접근법.
제안 사항?
많은 수의 큰 목록이있는 경우 numpy 사용을 고려해야합니다. – kennytm
([1, 2, 3], [1, 2, 4]) 또는 ([1, 2, 3], [3, 2, 1]) 어느 쪽이 더 유사한가? 일반적으로 유사성의 척도는 적용에 관한 어떤 것을 반영해야합니다. 초록에서 "더 나은 접근법"을 정의하는 것은 불가능합니다. –
@KennyTM 나는 numpy를 사용할 계획입니다. 바로 지금, 나는 이것을하기 위해 알 고를 알아 내려고 노력하고 있습니다. 나는 theres를 나누는 것보다 더 좋은 방법이라고 생각하지만, 그렇지 않다면 나눠서하는 것이 좋습니다. – Lostsoul