거래 데이터 원-핫 인코딩
이 강의 전반에 걸쳐, 마켓 바스켓 분석에 사용할 데이터를 전처리하기 위한 공통 파이프라인을 사용해요. 첫 단계는 pandas DataFrame을 불러오고 거래가 담긴 열을 선택하는 거예요. 해당 열의 각 거래는 여러 개의 항목을 쉼표로 구분한 문자열입니다. 다음 단계에서는 lambda 함수를 사용해 각 거래 문자열을 리스트로 분할하여, 열을 리스트의 리스트로 변환해요.
이번 연습 문제에서는 식료품 데이터셋에서 가져온 리스트의 리스트 transactions로 시작합니다. 그런 다음 transactions를 원-핫 인코딩된 DataFrame으로 변환할 거예요. 여기서 각 열은 거래에 항목이 포함되었는지 여부를 나타내는 TRUE와 FALSE 값으로 구성됩니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Market Basket Analysis
연습 안내
mlxtend.preprocessing에서TransactionEncoder를 가져오세요.- 트랜잭션 인코더를 인스턴스화하고
transactions에서 고유 항목을 식별하세요. - 배열 형태로
transactions를 원-핫 인코딩하고 값을onehot에 할당하세요. - 항목 이름을 열 머리글로 사용해 배열을
pandasDataFrame으로 변환하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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)