Python sklearn'中的内存错误;s管道

Python sklearn'中的内存错误;s管道,python,scipy,scikit-learn,sparse-matrix,Python,Scipy,Scikit Learn,Sparse Matrix,我在我的代码中创建了这样一个管道 from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.linear_model import SGDClassifier from sklearn.pipeline import Pipeline pipe = Pipeline(steps = [ ('tfidf',TfidfVectorizer(max_df=0.5, min_df=10)),

我在我的代码中创建了这样一个管道

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import Pipeline

pipe = Pipeline(steps = [
        ('tfidf',TfidfVectorizer(max_df=0.5, min_df=10)),
        ('clf', SGDClassifier(loss='log', n_jobs=-1)),
])
当我开始在我的数据(大约140万个句子)上安装这个管道时,我看到RAM使用量快速而巨大地增加

在这之后,我的内核就死了。我想,这是因为应用TfidfVectorizer后的稀疏矩阵已转换为稠密矩阵。但是SGDClassizer可以处理稀疏矩阵,不是吗

为什么会发生这种情况,在这种情况下我能做些什么

我的版本: ( python 2.7, sklearn 0.18.1, scipy 0.18.1, numpy 1.12.0
)

我犯了错误,这段代码运行良好,没有内存泄漏。

显示error@VivekKumar我使用python笔记本,没有错误。我看到使用RAM会达到极限,在Ipython笔记本中会有这样一条消息:“内核似乎已死亡。它将自动重新启动。”然后尝试在没有管道的情况下使用代码,即先适应tfidf,然后适应sgd。通过这种方式,您可以确定内存增加的位置。