Ich habe eine Liste wie die ähnlich wie diese:One-hot-Codierung von Kategorien
list = ['Opinion, Journal, Editorial',
'Opinion, Magazine, Evidence-based',
'Evidence-based']
wo die Kommas zB zwischen Kategorien aufgeteilt. Meinung und Journal sind zwei getrennte Kategorien. Die echte Liste ist viel größer und hat mehr mögliche Kategorien. Ich möchte die One-Hot-Codierung verwenden, um die Liste so zu transformieren, dass sie für maschinelles Lernen verwendet werden kann. Zum Beispiel aus dieser Liste würde ich gerne eine spärliche Matrix wie die Daten enthält, produzieren:
list = [[1, 1, 1, 0, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 0, 1]]
Idealerweise würde ich scikit-learn's one hot encoder verwenden mag, wie ich nehme an, dies am effizientesten wäre.
Als Reaktion auf @nbrayns Kommentar:
Die Idee ist, die Liste der Kategorien von Text in ein Vektor zu transformieren wherby wenn es zu dieser Kategorie gehört es wird 1 zugeordnet werden, sonst 0. Für das obige Beispiel des Überschriften wären:
headings = ['Opinion', 'Journal', 'Editorial', 'Magazine', 'Evidence-based']
Welche Werte sollten 1 sein, und was sollte 0 sein? – nbryans
@nbryans Haben die Frage bearbeitet. – user7347576