Python sklearn GaussianNB : "MemoryError"但没有关于如何修复的线索



我正在运行以下代码来创建和拟合GaussianNB分类器:

features_train, features_test, labels_train, labels_test = preprocess()
### compute the accuracy of your Naive Bayes classifier
# import the sklearn module for GaussianNB 
from sklearn.naive_bayes import GaussianNB 
import numpy as np
### create classifier 
clf = GaussianNB()
### fit the classifier on the training features and labels    
clf.fit(features_train, labels_train)

在本地运行上述内容:

>>> runfile('C:/.../naive_bayes')
no. of Chris training emails: 4406
no. of Sara training emails: 4383
>>> clf
GaussianNB()

我相信这会检查"preprocess()",因为它成功地加载了features_train、features_test、labels_train labels_test。

当我尝试 clf.score 或 clf.predict时,我收到一个 MemoryError:

>>> clf.predict(features_test)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:Python27libsite-packagessklearnnaive_bayes.py", line 64, in predict
    jll = self._joint_log_likelihood(X)
  File "C:Python27libsite-packagessklearnnaive_bayes.py", line 343, in _joint_log_likelihood
    n_ij -= 0.5 * np.sum(((X - self.theta_[i, :]) ** 2) /
MemoryError
>>> clf.score(features_test,labels_test)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:Python27libsite-packagessklearnbase.py", line 295, in score
    return accuracy_score(y, self.predict(X), sample_weight=sample_weight)
  File "C:Python27libsite-packagessklearnnaive_bayes.py", line 64, in predict
    jll = self._joint_log_likelihood(X)
  File "C:Python27libsite-packagessklearnnaive_bayes.py", line 343, in _joint_log_likelihood
    n_ij -= 0.5 * np.sum(((X - self.theta_[i, :]) ** 2) /
MemoryError

我不认为这是我的内存问题,因为我在任务管理器上没有看到 RAM 峰值,也没有接近我机器上的内存使用量。

我怀疑这是Python版本和库版本的东西。

感谢对诊断此问题的任何帮助。我可以根据需要提供更多信息。

我相信我在网上阅读了一些相关帖子后回答了我的问题(没有使用以前回答过的 Stackoverflow 帖子)。

对我来说,关键是通过Anaconda简单地迁移到64位Python。当在 32 位 Python 中运行的完全相同的代码在 64 位重试时,"MemoryError"的所有问题都得到了解决。据我所知,这是唯一被更改的变量。

也许这不是一个非常令人满意的答案,但如果这个问题可以保留给将来搜索完全相同的 sklearn MemoryError 问题的其他人,那就太好了。

我也在学习同样的 Udacity 课程,我遇到了同样的问题。我安装了 Anaconda 64 位并在 Spyder 中执行了脚本,一切都按预期进行。

相关内容

  • 没有找到相关文章

最新更新