>백엔드 개발 >파이썬 튜토리얼 >Python에서 데이터 마이닝에 연관 규칙을 사용하는 방법은 무엇입니까?

Python에서 데이터 마이닝에 연관 규칙을 사용하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-06-04 09:02:191394검색

Python은 다양한 데이터 마이닝 작업에 적용할 수 있는 강력한 프로그래밍 언어입니다. 연관 규칙은 데이터 세트를 더 잘 이해하기 위해 서로 다른 데이터 포인트 간의 연관을 발견하는 것을 목표로 하는 일반적인 데이터 마이닝 기술 중 하나입니다. 이 기사에서는 데이터 마이닝을 위해 Python에서 연관 규칙을 사용하는 방법에 대해 설명합니다.

연관 규칙이란 무엇인가요?

연관 규칙은 서로 다른 데이터 포인트 간의 연관성을 찾는 데 사용되는 데이터 마이닝 기술입니다. 이는 장바구니 분석에 자주 사용되며, 어떤 품목이 자주 함께 구매되는지 파악하여 해당 품목이 배치된 매장 부서에서 정리할 수 있습니다.

연관 규칙에는 항목 집합과 규칙이라는 두 가지 유형의 요소가 있습니다.

프로젝트 세트에는 여러 프로젝트가 포함되어 있으며 규칙은 논리적 관계입니다. 예를 들어, 항목 집합에 A, B, C가 포함된 경우 A->B 규칙은 A가 발생하면 B도 발생할 가능성이 있음을 의미합니다. 또 다른 규칙인 B->C는 B가 나타나면 C도 나타날 가능성이 높다는 것을 의미합니다.

연관 규칙 데이터 마이닝에 Python을 사용하는 단계

연관 규칙 데이터 마이닝에 Python을 사용하려면 다음 단계를 따라야 합니다.

1 데이터 준비

먼저 원하는 데이터를 준비해야 합니다. 사용. 연관 규칙 알고리즘은 일반적으로 구매 내역이나 고객과의 상호 작용 기록과 같은 거래 데이터를 사용합니다.

Python에서는 pandas 데이터 프레임을 사용하여 데이터를 로드한 다음 알고리즘에 적합한 형식으로 변환할 수 있습니다. 일반적으로 사용되는 형식은 List of Lists입니다. 여기서 각 하위 목록은 트랜잭션을 나타내고 요소는 트랜잭션의 항목을 나타냅니다.

예를 들어, 다음 코드는 샘플 거래 정보가 포함된 CSV 파일을 로드하고 이를 목록 형식으로 변환합니다.

import pandas as pd

# Load data from CSV file
data = pd.read_csv('transactions.csv')

# Convert data to List of Lists format
transactions = []
for i, row in data.iterrows():
    transaction = []
    for col in data.columns:
        if row[col] == 1:
            transaction.append(col)
    transactions.append(transaction)

2. 연관 규칙 알고리즘을 사용하여 규칙을 찾습니다.

데이터를 형식으로 변환한 후 알고리즘에 적합하면 모든 연관 규칙 알고리즘을 사용하여 규칙을 찾을 수 있습니다. 가장 일반적인 알고리즘은 다음 단계를 따르는 Apriori 알고리즘입니다.

  • 모든 거래를 스캔하여 항목 빈도를 결정합니다.
  • 항목 빈도를 사용하여 후보 항목 세트를 생성하세요.
  • 모든 거래를 스캔하여 후보 항목 세트 빈도를 결정하세요.
  • 후보 항목 세트를 기반으로 규칙을 생성합니다.

Python에서는 pymining 라이브러리를 사용하여 Apriori 알고리즘을 구현할 수 있습니다. 다음은 Pymining을 사용하여 빈발 항목 집합을 찾는 방법을 보여주는 샘플 코드입니다.

from pymining import itemmining

relim_input = itemmining.get_relim_input(transactions)
item_sets = itemmining.relim(relim_input, min_support=2)
print(item_sets)

이 예에서는 빈발 항목 집합을 결정하는 데 사용되는 지원 임계값을 지정하는 min_support 매개 변수를 사용합니다. 이 경우 지원도 2를 사용했는데, 이는 최소 2개의 거래에 나타나는 항목 집합만 빈발 항목 집합으로 간주된다는 의미입니다.

3. 규칙 평가

빈도 항목 집합을 찾은 후 이를 사용하여 규칙을 생성할 수 있습니다. 규칙을 생성한 후에는 규칙을 평가하여 어떤 규칙이 가장 적합한지 결정해야 합니다.

규칙을 평가하는 데 사용할 수 있는 일반적으로 사용되는 평가 지표가 몇 가지 있습니다. 가장 일반적인 두 가지는 자신감과 지원입니다.

신뢰도는 규칙의 정확성을 나타냅니다. A가 발생하면 B도 발생할 확률을 말합니다. 다음과 같이 계산됩니다.

confidence(A->B) = support(A 및 B) / support(A)

여기서 support(A 및 B)는 A와 B가 나타나는 트랜잭션 수입니다. 동시에 support(A)는 A가 나타나는 트랜잭션 수입니다.

지원은 규칙의 보편성을 나타냅니다. 다음 공식으로 계산된 확률을 의미합니다:

support(A and B) / total_transactions

여기서 total_transactions는 모든 거래 수입니다.

Python에서는 pymining 라이브러리를 사용하여 신뢰도와 지지도를 계산할 수 있습니다. 다음은 규칙의 신뢰도를 계산하는 방법을 보여주는 샘플 코드입니다.

from pymining import perftesting

rules = perftesting.association_rules(item_sets, 0.6)

for rule in rules:
    item1 = rule[0]
    item2 = rule[1]
    confidence = rule[2]
    support = rule[3]
    print(f'Rule: {item1} -> {item2}')
    print(f'Confidence: {confidence}')
    print(f'Support: {support}
')

이 예에서는 신뢰도 임계값 0.6을 사용합니다. 즉, 규칙의 신뢰도가 0.6보다 높은 경우에만 신뢰도가 0.6보다 높은 것으로 간주됩니다. 의미 있는 규칙 .

요약
연관 규칙은 데이터 마이닝의 중요한 기술 중 하나이며, 데이터 포인트 간의 상관 관계를 발견하는 데 도움이 될 수 있습니다. Python에서는 연관 규칙 알고리즘과 평가 지표를 사용하여 규칙을 찾고, 규칙을 평가하고, 결과를 기반으로 분석 및 예측할 수 있습니다. 실제로 데이터에서 더 많은 통찰력을 얻으려면 추가 분석을 위해 결과를 시각화하거나 기계 학습 모델에 제출해야 할 수도 있습니다.

위 내용은 Python에서 데이터 마이닝에 연관 규칙을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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