我有一个类似这样的列表:
list = ['Opinion, Journal, Editorial',
'Opinion, Magazine, Evidence-based',
'Evidence-based']
逗号在类别之间分开的地方,例如。意见和期刊是两个独立的类别。真正的列表要大得多,并且有更多可能的类别。我想使用 one-hot 编码来转换列表,以便它可以用于机器学习。例如,从该列表中,我想生成一个包含以下数据的稀疏矩阵:
list = [[1, 1, 1, 0, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 0, 1]]
理想情况下,我想使用scikit-learn 的一个热门编码器,因为我认为这将是最有效的。
回应@nbrayns评论:
这个想法是将类别列表从文本转换为向量 wherby,如果它属于该类别,它将被分配 1,否则为 0。对于上面的示例,标题将是:
headings = ['Opinion', 'Journal', 'Editorial', 'Magazine', 'Evidence-based']