gpt4 book ai didi

python - 如何为多个数据框列制作管道?

转载 作者:行者123 更新时间:2023-12-04 01:39:30 24 4
gpt4 key购买 nike

我有 Dataframe 可以简化为:

import pandas as pd

df = pd.DataFrame([{
'title': 'batman',
'text': 'man bat man bat',
'url': 'batman.com',
'label':1},
{'title': 'spiderman',
'text': 'spiderman man spider',
'url': 'spiderman.com',
'label':1},
{'title': 'doctor evil',
'text': 'a super evil doctor',
'url': 'evilempyre.com',
'label':0},])

我想尝试不同的特征提取方法:TFIDF、word2vec、具有不同 ngram 设置的 Coutvectorizer 等。但我想以不同的组合尝试它:一个特征集将包含用 TFIDF 转换的“文本”数据,“url”与Countvectoriser 和 second 将具有由 w2v 转换的文本数据,以及由 TFIDF 转换的 'url' 等等。最后,当然,我想对不同的预处理策略进行比较并选择最好的。

以下是问题:
  • 有没有办法使用像 Pipeline 这样的标准 sklearn 工具来做这样的事情?
  • 我的想法有常识吗?也许有一些好主意如何处理我缺少的 Dataframes 中多列的文本数据?

  • 非常感谢!

    最佳答案

    看看下面的链接:
    http://scikit-learn.org/0.18/auto_examples/hetero_feature_union.html

    class ItemSelector(BaseEstimator, TransformerMixin):
    def __init__(self, key):
    self.key = key

    def fit(self, x, y=None):
    return self

    def transform(self, data_dict):
    return data_dict[self.key]

    键值接受 Pandas 数据框列标签。
    在您的管道中使用它时,它可以应用为:
    ('tfidf_word', Pipeline([
    ('selector', ItemSelector(key='column_name')),
    ('tfidf', TfidfVectorizer())),
    ]))

    关于python - 如何为多个数据框列制作管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47895434/

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