微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 CatBoostClassifier 为不同的输入定义不同的文本处理逻辑

如何解决如何使用 CatBoostClassifier 为不同的输入定义不同的文本处理逻辑

我想构建一个使用多个文本输入的 catboost 分类器。 每一种都需要不同类型的向量化逻辑(有些是词级,有些是字符 ngram)

我要遵循的主要文档在这里https://catboost.ai/docs/features/text-features.html

我设法为所有字段定义了一个通用的自定义“文本管道”:

import catboost
import pandas

df = pandas.DataFrame({
    'a': ['Hello World','This is a test','foo','fooo'],'b': ['Hello World','y': [0,1,1]
})

text_processing_options ={
    "tokenizers" : [{
        "tokenizer_id" : "tok","delimiter" : " ","lowercasing" : "true"
    }],"dictionaries" : [{
        "dictionary_id" : "word_uni","gram_order" : "1","occurrence_lower_bound":"1"
    },{
        "dictionary_id" : "char_ngram","gram_order" : "3","token_level_type": 'Letter',"occurrence_lower_bound": "1"
    }],"feature_processing" : {
        "a" : [{
            "tokenizers_names" : ["tok"],"dictionaries_names" : ["word_uni"],"feature_calcers" : ["BoW"]
        }],"b" : [{
            "tokenizers_names" : ["tok"],"dictionaries_names" : ["char_ngram"],}
}
model = catboost.catboostClassifier(text_processing=text_processing_options,iterations=10)
model.fit(df[['a','b']],df['y'],text_features=['a','b'])

但是为每一列尝试不同的逻辑(基于我对 API 的理解失败了:

import catboost
import pandas

df = pandas.DataFrame({
    'a': ['Hello World','b'])

一个问题是是否可以获取\记录已处理的输入以进行故障排除?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。