在上一篇文章中,使用了logistic回归来对电影评论进行分类,消耗了2到3个小时,在使用网格搜索对50000条电影评论构建特征向量的时候计算成本是非常大的。在实际应用中,可能会遇见更大的数据集,如果直接把数据集加载到内存中,可能会超出计算机的最大内存,同时也会需要更久的训练时间。在这篇文章中,将介绍外存学习来处理大数据集,使用外存学习来处理50000条电影评论只需要1分钟。
在梯度下降算法中,我们有学习过随机梯度下降和批量梯度下降,每次通过一个或批量的训练数据来更新权重。而,外存学习与批量梯度下降的思想是一致的。使用sklearn的SGDClassifier的partial_fit函数来训练从本地磁盘读取的批量数据,来构建模型。
1、导入相关包
import numpy as np
import re
from nltk.corpus import stopwords
stop = stopwords.words("english")
from sklearn.feature_extraction.text import HashingVectorizer
from