APPROXIMATE_JACCARD_INDEX

APPROXIMATE_JACCARD_INDEX (대략적 자카드 지수)

입력들의 MinHash 상태를 기반으로 입력들의 유사성(자카드 지수) 추정값을 반환해요. 자카드 지수와 관련 함수 MINHASH에 대한 자세한 내용은 두 개 이상 집합의 유사성 추정을 참고해요.

APPROXIMATE_SIMILARITY의 별칭이에요.

출처: Snowflake SQL Reference - APPROXIMATE_JACCARD_INDEX

본문

구문

APPROXIMATE_JACCARD_INDEX( [ DISTINCT ] <expr> [ , ... ] )

APPROXIMATE_JACCARD_INDEX(*)

인자

expr

하나 이상의 MINHASH 함수 호출이 반환한 MinHash 상태여야 해요. 즉, 표현식은 대략적 유사성을 구하려는 컬럼이나 표현식이 아니라 MinHash 상태 정보여야 해요. (아래 예시가 이를 이해하는 데 도움이 돼요.) MinHash 상태에 대한 자세한 내용은 두 개 이상 집합의 유사성 추정을 참고해요.

반환 값

0.0에서 1.0(포함) 사이의 부동 소수점 숫자를 반환해요. 여기서 1.0은 집합이 동일함을, 0.0은 집합에 겹침이 없음을 나타내요.

사용 참고 사항

  • DISTINCT를 인자로 포함할 수 있지만 효과가 없어요.
  • 입력 MinHash 상태는 길이가 같은 MinHash 배열을 가져야 해요.
  • 입력 MinHash 상태의 배열 길이는 근사 품질의 지표예요. MINHASH 함수에서 사용하는 k 값이 클수록 근사가 더 좋아요. 하지만 이 값은 유사성 추정의 계산 시간에 선형적인 영향을 미쳐요.

예시

USE SCHEMA snowflake_sample_data.tpch_sf1;

SELECT APPROXIMATE_JACCARD_INDEX(mh) FROM
    (
      (SELECT MINHASH(100, C5) mh FROM orders WHERE c2 <= 50000)
         UNION
      (SELECT MINHASH(100, C5) mh FROM orders WHERE C2 > 50000)
    );
+-------------------------------+
| APPROXIMATE_JACCARD_INDEX(MH) |
|-------------------------------|
|                          0.97 |
+-------------------------------+

더 알아보기