我正在使用scikit-learn为LDA模型提供大量数据.相关代码片段如下所示:
lda = LatentDirichletAllocation(n_topics = n_topics,
max_iter = iters,
learning_method = 'online',
learning_offset = offset,
random_state = 0,
evaluate_every = 5,
n_jobs = 3,
verbose = 0)
lda.fit(X)
Run Code Online (Sandbox Code Playgroud)
(我想这里唯一可能相关的细节是我正在使用多个工作.)
经过一段时间后,即使磁盘上有足够的空间和足够的可用内存,我也会收到"设备上没有剩余空间"错误.我在两台不同的计算机上(在我的本地计算机和远程服务器上)多次尝试相同的代码,首先使用python3,然后使用python2,每次我都得到相同的错误.
如果我在较小的数据样本上运行相同的代码,一切正常.
整个堆栈跟踪:
Failed to save <type 'numpy.ndarray'> to .npy file:
Traceback (most recent call last):
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 271, in save
obj, filename = self._write_array(obj, filename)
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 231, in _write_array
self.np.save(filename, array)
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 491, in save
pickle_kwargs=pickle_kwargs)
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/numpy/lib/format.py", line 584, in write_array
array.tofile(fp)
IOError: 275500 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Julia中实现一个简单的正则化逻辑回归算法.我想使用Optim.jl库来最小化我的成本函数,但我无法让它工作.
我的成本函数和梯度如下:
function cost(X, y, theta, lambda)
m = length(y)
h = sigmoid(X * theta)
reg = (lambda / (2*m)) * sum(theta[2:end].^2)
J = (1/m) * sum( (-y).*log(h) - (1-y).*log(1-h) ) + reg
return J
end
function grad(X, y, theta, lambda, gradient)
m = length(y)
h = sigmoid(X * theta)
# gradient = zeros(size(theta))
gradient = (1/m) * X' * (h - y)
gradient[2:end] = gradient[2:end] + (lambda/m) * theta[2:end]
return gradient
end
Run Code Online (Sandbox Code Playgroud)
(theta假设函数的参数向量在哪里,lambda是正则化参数.)
然后,根据这里给出的说明:https …
我想将<hr>标签默认呈现的水平线替换为三个星号(水平居中).如果可能的话,我想用纯CSS实现这一点,具体来说:
<hr>,没有帮助div或类似的东西(因为我是造型Markdown文件);首先我试过:
hr {
width: 0;
}
hr:before {
content: "***";
}
Run Code Online (Sandbox Code Playgroud)
它几乎可以解决问题,但我希望它集中在一起,并且不知道如何将它居中.
我有一个浮动列表(实际上它是一个pandas Series对象,如果它改变了什么),它看起来像这样:
mySeries:
...
22 16.0
23 14.0
24 12.0
25 10.0
26 3.1
...
Run Code Online (Sandbox Code Playgroud)
(因此,本系列的元素位于右侧,左侧是索引.)然后,我尝试将此系列中的元素指定为字典中的键,将索引指定为值,如下所示:
{ mySeries[i]: i for i in mySeries.index }
Run Code Online (Sandbox Code Playgroud)
而且我得到了我想要的东西,除了......
{ 6400.0: 0, 66.0: 13, 3.1000000000000001: 23, 133.0: 10, ... }
Run Code Online (Sandbox Code Playgroud)
为什么3.1突然变成了3.1000000000000001?我想这与浮点数的表示方式有关(?),但为什么现在会发生,我该如何避免/修复呢?
编辑:如果这个问题不准确,请随时为这个问题建议一个更好的标题.
编辑2:好的,所以它似乎是完全相同的数字,只是印刷方式不同.仍然,如果我指定mySeries[26]为字典键,然后我尝试运行:
myDict[mySeries[26]]
Run Code Online (Sandbox Code Playgroud)
我得到KeyError.什么是避免它的最佳方法?
python ×2
css ×1
dictionary ×1
ioerror ×1
julia ×1
markdown ×1
pandas ×1
regression ×1
scikit-learn ×1
typography ×1