Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

Apriori 기반 마이닝의 효율성을 어떻게 더 향상시킬 수 있습니까?

<시간/>

다음과 같은 원래 알고리즘의 효율성 개발을 목표로 예상되는 Apriori 알고리즘의 몇 가지 변형이 있습니다.

해시 기반 기술(항목 집합을 해당 버킷으로 해싱) − 해시 기반 기술을 사용하여 후보 k-항목 집합 Ck의 크기를 줄일 수 있습니다. , for k> 1. 예를 들어, 데이터베이스의 각 트랜잭션을 스캔하여 빈번한 1-itemsets,L1 , C1의 후보 1-항목 집합에서 , 각 트랜잭션에 대해 2개 항목 집합을 만들고 해시 테이블 구조의 여러 버킷에 해시(즉, 매핑)하고 동등한 버킷 수를 늘릴 수 있습니다.

거래 감소 − 일부 빈번한 k-항목 집합을 포함하지 않는 트랜잭션은 일부 빈번한 (k + 1)-항목 집합을 포함할 수 없습니다. 따라서 j> k인 j-itemsets에 대한 데이터베이스의 후속 스캔은 필요하지 않기 때문에 이러한 트랜잭션은 추가 고려 사항에서 표시되거나 삭제될 수 있습니다.

파티셔닝 − 빈번한 항목 집합을 마이닝하기 위해 두 개의 데이터베이스 스캔이 필요한 분할 기술을 사용할 수 있습니다. 여기에는 I 단계에서 알고리즘이 D의 트랜잭션을 n개의 비중첩 파티션으로 세분화하는 두 단계가 포함됩니다. D의 트랜잭션에 대한 최소 지원 임계값이 min_sup이면 파티션에 대한 최소 지원 개수는 min_sup × 해당 파티션의 트랜잭션 수입니다.

각 파티션에 대해 파티션 내에서 자주 사용되는 모든 항목 집합이 검색됩니다. 이들은 지역 빈번한 항목 집합으로 정의됩니다. 이 프로세스는 각 항목 집합에 대해 항목 집합의 항목을 포함하는 트랜잭션의 TID를 기록하는 특정 데이터 구조를 사용합니다. 이렇게 하면 데이터베이스를 한 번만 스캔하여 k =1, 2...에 대해 지역적으로 자주 발생하는 모든 k-항목 집합을 찾을 수 있습니다.

로컬 빈번한 항목 집합은 전체 데이터베이스 D와 자주 관련될 수도 있고 아닐 수도 있습니다. D와 자주 관련될 수 있는 모든 항목 집합은 빈번한 항목 집합으로 나타나야 하며 부분적으로 파티션 중 하나입니다. 따라서 모든 지역 빈도 항목 집합은 약간 D 후보 항목 집합입니다. 모든 파티션의 빈도 항목 집합 집합은 D에 대한 세계적인 후보 항목 집합을 형성합니다. 2단계에서 D의 두 번째 스캔이 구성되어 각 후보의 실제 지원이 다음과 같이 평가됩니다. 전역 빈도 항목 집합을 결정합니다.

샘플링 − 샘플링 접근 방식의 기본 아이디어는 주어진 데이터 D의 무작위 샘플 S를 선택한 다음 D가 아닌 S에서 빈번한 항목 집합을 검색하는 것입니다. 이 방법에서는 어느 정도 정확도와 효율성을 절충할 수 있습니다. S의 표본 크기는 S의 빈번한 항목 집합에 대한 검색이 주 메모리에서 완료될 수 있는 크기이므로 S의 트랜잭션에 대한 전체 스캔은 한 번만 필요합니다.