Python 如何对每列具有多个值的功能进行编码?需要多指令向量机吗?
我正在对sklearn中的一些功能进行矢量化,我遇到了一个问题。如果您的数据可以被编码到每个项目的一个dict键中,DictVectorizer工作得很好。如果您的项目可以具有同一列的两个或多个值,该怎么办?例如,DictVectorizer可以很好地处理以下项目:Python 如何对每列具有多个值的功能进行编码?需要多指令向量机吗?,python,scikit-learn,feature-extraction,dictvectorizer,one-hot-encoding,Python,Scikit Learn,Feature Extraction,Dictvectorizer,One Hot Encoding,我正在对sklearn中的一些功能进行矢量化,我遇到了一个问题。如果您的数据可以被编码到每个项目的一个dict键中,DictVectorizer工作得很好。如果您的项目可以具有同一列的两个或多个值,该怎么办?例如,DictVectorizer可以很好地处理以下项目: {'a': 'b', 'b': 'c'} 但是像这样,每列有一个以上的值呢 {'a': ['b','c'], 'b': 'd'} 一个热编码的策略仍然适用,您只需要两个a列…a=b和a=c。据我所知,没有这样的矢量器存在!在这种
{'a': 'b', 'b': 'c'}
但是像这样,每列有一个以上的值呢
{'a': ['b','c'], 'b': 'd'}
一个热编码的策略仍然适用,您只需要两个a列…a=b和a=c。据我所知,没有这样的矢量器存在!在这种情况下,我们该怎么办?我需要创建自己的多目录向量器吗
在发布之前,我在一篇文章中写到了这一点。DictVectorizer无法处理每个键的多个值,因此我将此功能添加到它中。如果接受拉动,这将是sklearn的一部分。如果没有,我将在MultiDictVectorizer中为DictVectorizer子类,并为这个类发布一个包
对于这种情况,至少有两种快速可行的解决方案:
{'a':'bc','b':'d'}
或给它另一个名字,即'bc'-->'e'
{'a':'b','b':'d'}
和
{'a':'c','b':'d'}
N/a
情况
我看过你的github提案,所以我知道这并不是你想要的,但以防万一,它可以帮你省力