簡體   English   中英

如何編碼每列具有多個值的要素? 需要MultiDictVectorizer嗎?

[英]How can I encode features with more than one value per column? MultiDictVectorizer needed?

我在sklearn中使用了一些功能,我遇到了一個問題。 如果您的數據可以編碼為每個項目的一個dict鍵,則DictVectorizer可以正常工作。 如果您的商品可以包含同一列的兩個或更多值,該怎么辦? 例如,DictVectorizer可以在這樣的項目上正常工作:

{'a': 'b', 'b': 'c'}

但是這樣的事情呢,每列有多個值?

{'a': ['b','c'], 'b': 'd'}

單熱編碼的策略仍然適用,你只需要兩列...... a = b和a = c。 據我所知,沒有這樣的矢量化器存在! 在這種情況下應該做什么? 我需要創建自己的MultiDictVectorizer嗎?

在發布之前,我在博文中寫了這篇文章。

這種情況至少有兩種快速解決方案:

  1. 創建一個新值,表示具有兩個聚合值的可能性

    {'a': 'bc', 'b': 'd'}或給它另一個名字,即'bc'-->'e'

  2. 每次采用其中一個值時復制樣本

    {'a': 'b', 'b': 'd'}{'a': 'c', 'b': 'd'}

但當然這很大程度上取決於你的問題的背景(案例2:“復制”具有不同表現形式的樣本是否正確?案例1:在概念上是否可以接受該特征的另一個新值?)。 例如,我甚至不知道該多值特征是否對應於N/A情況。

我已經看到了你的github提議,所以我明白這不是你想要的,但以防萬一它能省你的努力。

DictVectorizer無法處理每個鍵的多個值,因此我將此功能添加到其中。 如果拉動被接受,這將是sklearn的一部分。 如果沒有,我將在MultiDictVectorizer中繼承DictVectorizer,並將為此類發布一個包。

在Github拉請求

sklearn Github項目中的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM