我在for循环中使用sklearn运行几个机器学习算法,并希望看到每个机器学习算法需要多长时间.问题是我还需要返回一个值,并且DONT想要多次运行它,因为每个算法都需要很长时间.有没有办法使用python的timeit模块或类似的函数捕获返回值'clf'...
def RandomForest(train_input, train_output): clf = ensemble.RandomForestClassifier(n_estimators=10) clf.fit(train_input, train_output) return clf
当我这样调用函数时
t = Timer(lambda : RandomForest(trainX,trainy)) print t.timeit(number=1)
PS我也不想设置全局'clf',因为我可能想稍后进行多线程或多处理.