2013-01-08 3 views
0

나는 진짜 질문이 없지만 문제에 대한 창의적인 의견을 구하는 것과 같습니다.날짜 유형 값에 퍼지 매칭

두 개의 (가장 불균등 한) 날짜 값을 비교하고 유사도 비율을 계산하고 싶습니다. 예를 들어, 08.01.201310.01.2013을 비교하면 비교적 높은 값을 얻을 수 있지만 08.01.201317.04.1998 사이의 값은 매우 낮습니다.

하지만 지금은 정확히 어떻게 유사성을 계산해야하는지 잘 모르겠습니다. 먼저 Date 값을 String으로 변환 한 다음 EditDistance를 사용하여 하나의 String을 다른 String으로 변환하는 단일 문자 작업의 수를 생각했습니다. 이것은 어떤 경우에는 좋은 생각 인 것 같습니다. 그러나 확실히 구현할 것입니다. 그러나 31.01.201302.02.2013

답변

1

왜 두 날짜 사이의 날짜 차이를 시작점으로 사용하지 않습니까? 비슷한 날짜의 경우 '낮음'이고 다른 날짜의 경우 '높음'인 경우 산술을 사용하여 요구 사항에 맞는 '유사 율'을 얻습니다.

고정 된 참조 날짜가 과거에 "충분히 빠름"이라고 생각하면 방해받을 수 있습니다.

+0

나를 도와 줘서 고마워. 나는 날짜들 사이의 시간차를 취한 다음, 시간 차이와 파생을 위해 예상/받아 들여지는 시간 범위로 간주되는 값 사이의 비율을 취했습니다. –

+0

환영합니다. –

0

과 같은 적절한 계산이 필요합니다. 편집 거리는 Levenshtein 거리를 사용하여 계산할 수 있습니다.

올해의 변화는 그 날의 변화보다 더 많은 "거리"를 의미합니다. 일을 비교하는 일반적인 방법은 일 또는 시간 단위로 거리를 계산하는 것입니다. 이렇게하려면 두 날짜를 연속 날짜로 변환하십시오. Microsoft는 날짜 비교 및 ​​거리 계산을 위해 DateDiff() 기능을 제공합니다.