【问题标题】:One-hot-encoding using TransactionEncoder for lists with different number of elements使用 TransactionEncoder 对具有不同元素数量的列表进行单热编码
【发布时间】:2021-12-27 04:25:46
【问题描述】:

我正在尝试使用 TransactionEncoder 将事务数据转换为单热编码布尔数组。但是,我不确定如何创建一个包含不同数量元素的列表的数组。

交易数据如下所示:

[['Apple', 'Beer', 'Rice', 'Chicken'],
['Apple', 'Beer', 'Rice'], ['Apple', 'Beer'], ['Apple', 'Bananas'], ['Milk', 'Beer', 'Rice',
'Chicken'], ['Milk', 'Beer', 'Rice'], ['Milk', 'Beer'], ['Apple', 'Bananas']]

一旦我有了名为 trans 的数组,我将尝试使用此代码将其转换为一次性编码的布尔数组:

te = TransactionEncoder()
data = te.fit_transform(trans)
data = pd.DataFrame(data, columns = te.columns_)

【问题讨论】:

    标签: python arrays list


    【解决方案1】:
    ll = np.array([['Apple', 'Beer', 'Rice', 'Chicken'],
    ['Apple', 'Beer', 'Rice'], ['Apple', 'Beer'], ['Apple', 'Bananas'], ['Milk', 'Beer', 'Rice',
    'Chicken'], ['Milk', 'Beer', 'Rice'], ['Milk', 'Beer'], ['Apple', 'Bananas']])
    
    import pandas as pd
    from mlxtend.preprocessing import TransactionEncoder
    
    te2 = TransactionEncoder()
    data2 = te2.fit_transform(ll)
    data2 = pd.DataFrame(data2, columns = te2.columns_)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      • 2023-04-10
      • 1970-01-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多