gpt4 book ai didi

python - 如何对每列具有多个值的特征进行编码?需要 MultiDictVectorizer?

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:38 26 4
gpt4 key购买 nike

我在对 sklearn 中的一些特征进行矢量化时遇到了问题。如果您的数据可以被编码为每个项目的一个字典键,那么 DictVectorizer 就可以很好地工作。如果您的项目可以具有同一列的两个或多个值怎么办?例如,DictVectorizer 在像这样的项目上工作得很好:

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

但如果像这样,每列有多个值呢?

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

one-hot-encoding 的策略仍然适用,你只需要两个 a 列……a=b 和 a=c。据我所知,不存在这样的矢量化器!遇到这种情况应该怎么办?我需要创建自己的 MultiDictVectorizer 吗?

我在 blog post 中写过这个在这里,在发布之前。

最佳答案

对于这种情况,至少有两种可能的快速解决方案:

  1. 创建一个表示具有两个聚合值的可能性的新值

    {'a': 'bc', 'b': 'd'} 或者给它另一个名字,即 'bc'-->'e'

  2. 每次取其中一个值时重复样本

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

当然,这在很大程度上取决于您的问题的上下文(案例 2:“复制”具有不同表现形式的样本是否正确?案例 1:在概念上可以接受该特征的另一个新值?)。例如,我什至不知道该多值特征是否对应于 N/A 情况。

我看过你的 github 提案,所以我知道这不是你想要的,但以防万一它可以节省你的精力。

关于python - 如何对每列具有多个值的特征进行编码?需要 MultiDictVectorizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35421205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com