시작하기무료로 시작하기

거래 데이터 원-핫 인코딩

이 강의 전반에 걸쳐, 마켓 바스켓 분석에 사용할 데이터를 전처리하기 위한 공통 파이프라인을 사용해요. 첫 단계는 pandas DataFrame을 불러오고 거래가 담긴 열을 선택하는 거예요. 해당 열의 각 거래는 여러 개의 항목을 쉼표로 구분한 문자열입니다. 다음 단계에서는 lambda 함수를 사용해 각 거래 문자열을 리스트로 분할하여, 열을 리스트의 리스트로 변환해요.

이번 연습 문제에서는 식료품 데이터셋에서 가져온 리스트의 리스트 transactions로 시작합니다. 그런 다음 transactions를 원-핫 인코딩된 DataFrame으로 변환할 거예요. 여기서 각 열은 거래에 항목이 포함되었는지 여부를 나타내는 TRUEFALSE 값으로 구성됩니다.

이 연습은 강의의 일부입니다

Python으로 배우는 Market Basket Analysis

강의 보기

연습 안내

  • mlxtend.preprocessing에서 TransactionEncoder를 가져오세요.
  • 트랜잭션 인코더를 인스턴스화하고 transactions에서 고유 항목을 식별하세요.
  • 배열 형태로 transactions를 원-핫 인코딩하고 값을 onehot에 할당하세요.
  • 항목 이름을 열 머리글로 사용해 배열을 pandas DataFrame으로 변환하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import the transaction encoder function from mlxtend
from ____.____ import ____
import pandas as pd

# Instantiate transaction encoder and identify unique items in transactions
encoder = TransactionEncoder().____(____)

# One-hot encode transactions
onehot = encoder.____(transactions)

# Convert one-hot encoded data to DataFrame
onehot = pd.DataFrame(____, columns = encoder.columns_)

# Print the one-hot encoded transaction dataset
print(onehot)
코드 편집 및 실행