백엔드 개발 파이썬 튜토리얼 Python의 Apriori 알고리즘에 대한 자세한 설명

Python의 Apriori 알고리즘에 대한 자세한 설명

Jun 10, 2023 am 08:03 AM
데이터 마이닝 파이썬 프로그래밍 선험적 알고리즘

Apriori 알고리즘은 데이터 마이닝 분야에서 일반적인 연관 규칙 마이닝 방법이며 비즈니스 인텔리전스, 마케팅 및 기타 분야에서 널리 사용됩니다. 일반 프로그래밍 언어로서 Python은 Apriori 알고리즘을 구현하기 위한 여러 타사 라이브러리도 제공합니다. 이 기사에서는 Python에서 Apriori 알고리즘의 원리, 구현 및 적용을 자세히 소개합니다.

1. Apriori 알고리즘의 원리

Apriori 알고리즘의 원리를 소개하기 전에 먼저 연관 규칙 마이닝의 두 가지 개념인 빈발 항목 집합과 지원에 대해 알아보겠습니다.

빈번 항목 집합: 특정 데이터 집합에서 자주 함께 나타나는 항목 집합을 말합니다.

지원: 모든 거래에 아이템 세트가 나타나는 빈도를 지원이라고 합니다.

예를 들어 슈퍼마켓의 거래 데이터에서 전체 거래에서 {우유, 케이크} 조합의 빈도는 10%입니다. 그러면 이 조합에 대한 지지도는 10%입니다.

Apriori 알고리즘은 빈발항목 집합 개념을 기반으로 하며, 빈발항목 집합을 레이어별로 검색하여 항목 간의 상관관계를 탐색합니다. 아이디어는 다음과 같습니다.

  1. 단일 품목 세트(즉, 개별 구매 품목)부터 시작하여 자주 사용하는 품목 세트를 상향식으로 채굴합니다.
  2. 항목 집합의 지원도가 미리 설정된 최소 지원 임계값을 충족하는 경우에만 빈발 항목 집합으로 간주할 수 있습니다.
  3. 빈발 항목 집합을 기반으로 강력한 연관 규칙 집합을 구축하세요. 강한 연관 규칙은 연관 규칙에서 조건 항목과 결과 항목 간의 연결이 매우 가까운 규칙을 의미합니다.

구체적으로 Apriori 알고리즘의 구현 과정은 다음과 같습니다.

  1. 모든 항목을 계산하여 단일 항목 세트의 지원 개수를 얻습니다.
  2. 지원이 최소 지원 임계값을 충족하는 각 단일 항목 집합에 대해 빈발 항목 집합으로 간주될 수 있습니다.
  3. 각 빈발 항목 집합에 대해 비어 있지 않은 모든 하위 집합을 생성하고 생성 프로세스 중에 계산하여 각 하위 집합의 지지도를 계산합니다.
  4. 현재 생성된 하위 집합의 지지도가 최소 지지도 기준을 충족하면 해당 하위 집합이 빈발항목집합으로 저장됩니다.
  5. 빈발 항목 집합을 기반으로 강력한 연관 규칙 집합을 구축하세요. 빈발항목집합의 경우 부분집합을 조건으로, 나머지 부분을 결과로 선택하여 신뢰도를 계산할 수 있습니다. 신뢰도가 최소 신뢰도 임계값을 충족하면 연관 규칙이 강력한 규칙으로 저장됩니다.
  6. 새로운 빈발 항목 집합이나 강력한 규칙이 없을 때까지 3~5단계를 반복적으로 수행합니다.

Apriori 알고리즘은 비어 있지 않은 각 하위 집합에 대한 지원 계산이 필요하기 때문에 시간 복잡도가 매우 높다는 점에 유의해야 합니다. 계산량을 줄이기 위해 해시 테이블 사용 및 후보 감소와 같은 일부 최적화 기술을 사용할 수 있습니다.

2. Python은 Apriori 알고리즘을 구현합니다.

Python에는 mlxtend, Orange 등과 같은 Apriori 알고리즘을 구현할 수 있는 여러 타사 라이브러리가 있습니다. 다음은 mlxtend를 예로 사용하여 Apriori 알고리즘의 구현 단계를 소개합니다.

  1. mlxtend 라이브러리 설치

pip를 사용하여 mlxtend 설치:

pip install mlxtend
로그인 후 복사
  1. 필요한 라이브러리 가져오기

numpy 라이브러리 및 mlxtend 라이브러리 가져오기:

import numpy as np
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
로그인 후 복사
  1. 데이터 준비

간단한 트랜잭션 생성 데이터 세트, 4개의 트랜잭션 포함

dataset = [['牛奶', '面包', '啤酒', '尿布'],
           ['牛奶', '面包', '啤酒', '尿布'],
           ['面包', '啤酒', '尿布', '饼干'],
           ['牛奶', '尿布', '啤酒', '饼干']]
로그인 후 복사
  1. 데이터를 부울 테이블로 변환

TransactionEncoder를 사용하여 데이터를 부울 테이블로 변환하는 단계입니다. 이 단계는 거래 데이터 세트에서 빈번 항목 세트를 추출하는 것입니다.

te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
로그인 후 복사

    빈발 항목 집합 마이닝
Apriori 함수를 사용하여 부울 테이블에서 빈발 항목 집합을 마이닝하세요.

frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
로그인 후 복사

min_support 매개변수를 설정하면 빈발 항목 집합의 최소 지원을 제어할 수 있습니다. 위 코드에서는 최소 지원이 0.5로 설정되어 있습니다.

    강력한 연관 규칙 세트 구축
빈번 항목 세트를 기반으로 Association_rules 함수를 사용하여 강력한 연관 규칙 세트 구축:

rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
로그인 후 복사
메트릭 매개변수를 설정하여 품질 평가에 사용되는 메트릭을 제어할 수 있습니다. 협회 규칙의. 위 코드에서는 신뢰도를 평가 지표로 사용하고 최소 신뢰도 임계값을 0.7로 설정했습니다.

3. Apriori 알고리즘 적용 시나리오

Apriori 알고리즘은 마케팅, 추천 시스템, 소셜 네트워크 분석 등 다양한 분야에 적용될 수 있습니다. 다음은 상품 추천에 Apriori 알고리즘을 적용하는 방법을 전자상거래 플랫폼을 예로 들어 설명합니다.

전자상거래 플랫폼은 일반적으로 사용자의 거래 기록을 기록하고, 이 기록을 활용하여 사용자가 관심을 가질 만한 상품을 추천합니다. Apriori 알고리즘을 통해 빈도가 높은 상품 조합을 채굴할 수 있습니다. 예를 들어 A, B, C 상품을 구매하는 사람들은 D 상품을 구매할 확률이 높습니다. 이러한 연관 규칙을 기반으로 전자상거래 플랫폼은 사용자에게 해당 상품을 추천하여 사용자의 거래율과 쇼핑 경험을 향상시킬 수 있습니다.

4. 결론

Apriori 알고리즘은 일반적인 연관 규칙 마이닝 방법이며 Python에는 이 알고리즘을 구현할 수 있는 여러 타사 라이브러리가 있습니다. 이러한 라이브러리를 통해 빈번한 항목 집합과 연관 규칙을 쉽게 마이닝하여 데이터 분석 및 비즈니스 의사 결정을 지원할 수 있습니다.

위 내용은 Python의 Apriori 알고리즘에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux에서 스크립팅 및 실행을 위해 Python을 사용하는 방법 Linux에서 스크립팅 및 실행을 위해 Python을 사용하는 방법 Oct 05, 2023 am 11:45 AM

Linux에서 Python을 사용하여 스크립트를 작성하고 실행하는 방법 Linux 운영 체제에서는 Python을 사용하여 다양한 스크립트를 작성하고 실행할 수 있습니다. Python은 스크립팅을 보다 쉽고 효율적으로 만들기 위한 풍부한 라이브러리와 도구를 제공하는 간결하고 강력한 프로그래밍 언어입니다. 아래에서는 Linux에서 스크립트 작성 및 실행을 위해 Python을 사용하는 방법의 기본 단계를 소개하고, Python을 더 잘 이해하고 사용하는 데 도움이 되는 몇 가지 구체적인 코드 예제를 제공합니다. 파이썬 설치

Python에서 취약점 스캐너를 개발하는 방법 Python에서 취약점 스캐너를 개발하는 방법 Jul 01, 2023 am 08:10 AM

Python을 통해 취약점 스캐너를 개발하는 방법 개요 오늘날 인터넷 보안 위협이 증가하는 환경에서 취약점 스캐너는 네트워크 보안을 보호하는 중요한 도구가 되었습니다. Python은 간결하고 읽기 쉽고 강력하며 다양한 실용적인 도구를 개발하는 데 적합한 인기 있는 프로그래밍 언어입니다. 이 기사에서는 Python을 사용하여 네트워크에 대한 실시간 보호를 제공하는 취약성 스캐너를 개발하는 방법을 소개합니다. 1단계: 스캔 대상 결정 취약점 스캐너를 개발하기 전에 스캔할 대상을 결정해야 합니다. 이는 자체 네트워크일 수도 있고 테스트 권한이 있는 모든 것일 수도 있습니다.

Python에서 sqrt() 함수 사용 Python에서 sqrt() 함수 사용 Feb 21, 2024 pm 03:09 PM

Python에서 sqrt() 함수의 사용법 및 코드 예 1. sqrt() 함수의 기능 및 소개 Python 프로그래밍에서 sqrt() 함수는 math 모듈에 있는 함수이며, 그 기능은 의 제곱근을 계산하는 것입니다. 숫자. 제곱근은 자신을 곱한 숫자가 그 숫자의 제곱과 같다는 것을 의미합니다. 즉, x*x=n이면 x는 n의 제곱근이 됩니다. sqrt() 함수는 프로그램에서 제곱근을 계산하는 데 사용할 수 있습니다. 2. Python, sq에서 sqrt() 함수를 사용하는 방법

Baidu Map API 문서의 좌표 변환 기능을 분석하는 Python 프로그래밍 Baidu Map API 문서의 좌표 변환 기능을 분석하는 Python 프로그래밍 Aug 01, 2023 am 08:57 AM

Baidu Map API 문서의 좌표 변환 기능을 분석하기 위한 Python 프로그래밍 소개: 인터넷의 급속한 발전으로 지도 위치 지정 기능은 현대인의 삶에 없어서는 안 될 부분이 되었습니다. 중국에서 가장 인기 있는 지도 서비스 중 하나인 Baidu Maps는 개발자가 사용할 수 있는 일련의 API를 제공합니다. 이 기사에서는 Python 프로그래밍을 사용하여 Baidu Map API 문서의 좌표 변환 기능을 분석하고 해당 코드 예제를 제공합니다. 1. 소개 개발 중에 좌표 변환 문제가 발생할 수 있습니다. 바이두 지도 AP

Python 프로그래밍 실습: Baidu Map API를 사용하여 정적 지도 함수를 생성하는 방법 Python 프로그래밍 실습: Baidu Map API를 사용하여 정적 지도 함수를 생성하는 방법 Jul 30, 2023 pm 09:05 PM

Python 프로그래밍 실습: Baidu Map API를 사용하여 정적 지도 기능을 생성하는 방법 소개: 현대 사회에서 지도는 사람들의 삶에 없어서는 안 될 부분이 되었습니다. 지도 작업을 할 때 웹 페이지, 모바일 앱 또는 보고서에 표시하기 위해 특정 영역의 정적 지도를 얻어야 하는 경우가 많습니다. 이 기사에서는 Python 프로그래밍 언어와 Baidu Map API를 사용하여 정적 지도를 생성하는 방법을 소개하고 관련 코드 예제를 제공합니다. 1. 준비작업 Baidu Map API를 이용하여 정적 지도 생성 기능을 구현하기 위해,

Python에서 이미지 처리 및 인식을 수행하는 방법 Python에서 이미지 처리 및 인식을 수행하는 방법 Oct 20, 2023 pm 12:10 PM

Python에서 이미지 처리 및 인식을 수행하는 방법 요약: 현대 기술로 인해 이미지 처리 및 인식이 여러 분야에서 중요한 도구가 되었습니다. Python은 풍부한 이미지 처리 및 인식 라이브러리를 갖춘 배우기 쉽고 사용하기 쉬운 프로그래밍 언어입니다. 이 기사에서는 이미지 처리 및 인식을 위해 Python을 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 이미지 처리: 이미지 처리는 이미지 품질 향상, 이미지에서 정보 추출 등을 위해 이미지에 대한 다양한 작업 및 변환을 수행하는 프로세스입니다. Python의 PIL 라이브러리(Pi

Python에서 PCA 주성분 분석 알고리즘을 작성하는 방법은 무엇입니까? Python에서 PCA 주성분 분석 알고리즘을 작성하는 방법은 무엇입니까? Sep 20, 2023 am 10:34 AM

Python에서 PCA 주성분 분석 알고리즘을 작성하는 방법은 무엇입니까? PCA(Principal Component Analysis)는 데이터의 차원을 줄여 데이터를 더 잘 이해하고 분석하는 데 사용되는 일반적으로 사용되는 비지도 학습 알고리즘입니다. 이 기사에서는 Python을 사용하여 PCA 주성분 분석 알고리즘을 작성하는 방법을 배우고 구체적인 코드 예제를 제공합니다. PCA의 단계는 다음과 같습니다. 데이터 표준화: 데이터의 각 특징의 평균을 0으로 만들고 분산을 동일한 범위로 조정하여 다음을 보장합니다.

Python 프로그래밍을 사용하여 Baidu 이미지 인식 인터페이스의 도킹을 실현하고 이미지 인식 기능을 실현하는 방법을 가르쳐주세요. Python 프로그래밍을 사용하여 Baidu 이미지 인식 인터페이스의 도킹을 실현하고 이미지 인식 기능을 실현하는 방법을 가르쳐주세요. Aug 25, 2023 pm 03:10 PM

Python 프로그래밍을 사용하여 Baidu의 이미지 인식 인터페이스 도킹을 구현하고 이미지 인식 기능을 실현하는 방법을 가르칩니다. 컴퓨터 비전 분야에서 이미지 인식 기술은 매우 중요한 기술입니다. Baidu는 이미지 분류, 라벨링, 얼굴 인식 및 기타 기능을 쉽게 구현할 수 있는 강력한 이미지 인식 인터페이스를 제공합니다. 이 기사에서는 Python 프로그래밍 언어를 사용하여 Baidu 이미지 인식 인터페이스에 연결하여 이미지 인식 기능을 실현하는 방법을 설명합니다. 먼저 Baidu 개발자 플랫폼에서 애플리케이션을 만들고

See all articles