我有Python类,其中sklearn / scikit-learn用于构建DecisionTree。如果我在Django shell中执行,它运行在1s以下,如python manage.sh shell
。然后我将从csv加载数据并从DecisionTreeClassified调用我的类和fit
函数。
但是,如果我尝试将相同的代码合并到Django视图中,则需要6分钟。和6 GB的RAM完成。
是否涉及线程/多进程?
更新: 我不认为,代码是问题,而是Django环境或WSGI是原因。但是,这里有一些代码:
def myfit:
dt=tree.DecisionTreeClassifier(criterion='gini', splitter='best', min_samples_split=2,min_samples_leaf=n*self.params.min_category,max_depth=self.params.max_depth,max_features=None, random_state=None, min_density=None, compute_importances=None)
dt.fit(x_i,y)
start_time=time.time()
dt.predict_proba(x_i)[:,1] #takes ages here
print time.time() - start_time, "seconds"
#Django - 301.682538033 seconds, Cli - 0.06 seconds