gpt4 book ai didi

python - Sklearn 流水线的核外学习

转载 作者:行者123 更新时间:2023-12-05 06:42:36 24 4
gpt4 key购买 nike

我是一名新手,正在使用 SGDClassifier 在 Sklearn 中做一些工作,以使用标签对单句文本进行分类。 (例如,想想火腿/垃圾邮件)这是我的管道:

clf = SGDClassifier(fit_intercept=True, loss='modified_huber', alpha=.0001, shuffle=True,
n_iter=15, n_jobs=-1, penalty='elasticnet')
vectorizer = TfidfVectorizer(analyzer='char_wb', ngram_range=(3, 5), lowercase=True, stop_words=stopset,
use_idf=True, norm='l2')
pipeline = Pipeline([
('mapper', vectorizer),
('clf', clf),
])

我熟悉 partial_fit 的用法以避免将整个训练数据集加载到内存中(核外学习),但我的问题是分类器是否可以调用partial_fit初始训练集加载到内存中之后。

在我的用例中,想象一下我的算法在训练后必须分类的每个文本都有链接到它的“相关”文本,这些文本具有极其相似的特征,唯一的区别是文本中的拼写错误。我希望这些“相关”文本在与原始电子邮件相同的标签下自动添加到分类器的知识中,这样逃避算法的常见拼写错误也将被正确标记。

本质上,我想要一个可更新的分类器,在 python 中执行此操作的最佳方法是什么?

最佳答案

我理解你的问题的方式是,你有一个已经在一些初始集上预训练的分类器,你想对新的观察结果进行预测,然后添加这些观察结果(一旦我们知道实际标签是什么这些观察结果)以进一步训练您的模型。

我实际上认为这可以很容易地通过使用这些新观察调用 partial_fit 来完成,没有附加条件(可以这么说)。 This是一个很好的例子,它似乎适合您的目的。

关于python - Sklearn 流水线的核外学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36480638/

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