首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能逐步训练滑雪模型(例如支持向量机)?

是否有可能逐步训练滑雪模型(例如支持向量机)?
EN

Stack Overflow用户
提问于 2019-02-16 12:03:47
回答 1查看 1.7K关注 0票数 1

我试图对推特数据集"Sentiment140“进行情绪分析,该数据集包含160万条贴标签的tweet。我正在构造我的特征向量使用包字( Unigram )模型,所以每条推文是由大约20000的特征。现在,为了使用这个数据集来训练我的学习模型(SVM,Logistic回归,朴素贝叶斯),我必须将整个1.6mx20000特征向量加载到一个变量中,然后将其提供给模型。即使在拥有115 to内存的服务器上,它也会导致进程被终止。

因此,我想知道是否可以通过实例来训练模型实例,而不是将整个数据集加载到一个变量中?

如果sklearn没有这种灵活性,那么您还可以推荐其他库(支持顺序学习)吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-16 12:35:24

实际上,没有必要(更不用说高效地)走到另一个极端,通过实例来训练实例;实际上,您要寻找的是增量或在线学习,而且它可以在scikit中获得-- SGDClassifier for 线性支持向量机和logistic回归,其中确实包含了一种partial_fit方法。

下面是一个使用虚拟数据的快速示例:

代码语言:javascript
运行
复制
import numpy as np
from sklearn import linear_model
X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
Y = np.array([1, 1, 2, 2])
clf = linear_model.SGDClassifier(max_iter=1000, tol=1e-3)

clf.partial_fit(X, Y, classes=np.unique(Y))

X_new = np.array([[-1, -1], [2, 0], [0, 1], [1, 1]])
Y_new = np.array([1, 1, 2, 1])
clf.partial_fit(X_new, Y_new)

losspenalty参数('hinge''l2' )的默认值分别是LinearSVC的默认值,因此上面的代码本质上是增量式的L2正则化的线性支持向量机分类器;当然,这些设置可以更改--查看文档以获得更多细节。

有必要在第一个调用中包含classes参数,它应该包含问题中的所有现有类(尽管其中一些类可能在某些部分不存在);可以在partial_fit的后续调用中省略它--同样,有关更多细节,请参见链接文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54722861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档