我正在尝试使用SVC拟合相当大的数据集(约1000万个样本,15个特征)。当我将其作为单个作业运行时,它似乎运行良好,但几个小时后仍未完成。我与具有40个逻辑核心和125 Gig内存的工作站建立了远程连接,因此将代码和数据传输到该计算机并使用BaggingClassifier
或OneVsRestClassifier
然后直接使用它应该很简单设置n_jobs=-1
或n_jobs=10
。但是,当我这样做时,会创建许多新的python进程,每个进程具有相同的内存使用率,但所有这些进程的cpu使用率都保持为零。知道发生了什么吗?
这是我的代码。 data
的形状为(10046977, 15)
。
import numpy as np
from sklearn import svm
from sklearn.ensemble import BaggingClassifier
from sklearn.multiclass import OneVsRestClassifier
data = np.loadtxt('training.csv', header=None, dtype=float, usecols=range(2,17))
types = np.loadtxt('training.csv', header=None, dtype=str, usecols=(17,))
clf = OneVsRestClassifier(svm.SVC(gamma=0.001, C=100), n_jobs=-1)
clf.fit(data[:], types[:])
对于此特定问题,我正在使用Ubuntu 16.04。
答案 0 :(得分:0)
我遇到了类似的问题,并且设法使用以下方法解决了该问题:
<UniformGrid Rows="1" >
<Button>Button 1</Button>
<Button Visibility="Visible">Button 2 </Button>
</UniformGrid>