如何解决如何使用 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 举报,一经查实,本站将立刻删除。