One-hot encoding data transaksi
Sepanjang kursus, kita akan menggunakan pipeline umum untuk prapemrosesan data dalam market basket analysis. Langkah pertama adalah mengimpor DataFrame pandas dan memilih kolom yang berisi transaksi. Setiap transaksi dalam kolom tersebut berupa string yang terdiri atas sejumlah item yang dipisahkan dengan koma. Langkah berikutnya adalah menggunakan fungsi lambda untuk membagi setiap string transaksi menjadi sebuah list, sehingga mengubah kolom menjadi list of lists.
Pada latihan ini, Anda akan mulai dengan list of lists dari himpunan data grocery, yang tersedia sebagai transactions. Anda kemudian akan mengubah transactions menjadi DataFrame one-hot encoded, di mana setiap kolom berisi nilai TRUE dan FALSE yang menunjukkan apakah sebuah item disertakan dalam suatu transaksi.
Latihan ini adalah bagian dari kursus
Analisis Market Basket dengan Python
Petunjuk latihan
- Dari
mlxtend.preprocessing, imporTransactionEncoder - Buat instance transaction encoder dan identifikasi item unik dalam
transactions. - Lakukan one-hot encoding pada
transactionske dalam sebuah array dan tetapkan nilainya keonehot. - Konversikan array tersebut menjadi
DataFramepandasdengan menggunakan nama item sebagai header kolom.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)