APPROXIMATE_JACCARD_INDEX
APPROXIMATE_JACCARD_INDEX (대략적 자카드 지수)
입력들의 MinHash 상태를 기반으로 입력들의 유사성(자카드 지수) 추정값을 반환해요. 자카드 지수와 관련 함수 MINHASH에 대한 자세한 내용은 두 개 이상 집합의 유사성 추정을 참고해요.
APPROXIMATE_SIMILARITY의 별칭이에요.
본문
구문
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 |
+-------------------------------+