设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 创业者
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

想提高计算速度?作为数据科学家你应该知道这些Python多线程、进程知识(5)

发布时间:2019-09-19 00:31 所属栏目:21 来源:skura
导读:现在我们将研究如何减少该算法的运行时间。我们知道这个算法可以在一定程度上并行化,但是什么样的并行化才是合适的呢?它没有任何 IO 瓶颈,相反,它是一个非常 CPU 密集型的任务。所以多处理是合乎逻辑的选择。 幸

现在我们将研究如何减少该算法的运行时间。我们知道这个算法可以在一定程度上并行化,但是什么样的并行化才是合适的呢?它没有任何 IO 瓶颈,相反,它是一个非常 CPU 密集型的任务。所以多处理是合乎逻辑的选择。

幸运的是,sklearn 已经在这个算法中实现了多处理,我们不必从头开始编写它。正如你在下面的代码中看到的,我们只需要提供一个参数 n_jobs(它应该使用的进程数)来启用多处理。

  1. from sklearn.ensemble import RandomForestClassifier  
  2. from sklearn import datasets  
  3. import time 
  4.  
  5. X, y = datasets.make_classification(n_samples=10000, n_features=50, n_informative=20, n_classes=10) 
  6.  
  7.  
  8. start = time.time()  
  9. model = RandomForestClassifier(n_estimators=500, n_jobs=4)  
  10. model.fit(X, y)  
  11. print('Time:', time.time()-start) 

所用时间:14.576200723648071 秒。

正如预期的那样,多处理使其速度更快。

结论

大多数(如果不是所有的)数据科学项目将会发现并行计算能大幅提高计算速度。事实上,许多流行的数据科学库已经内置了并行性,你只需启用它即可。因此,在尝试自己实现它之前,请查看正在使用的库的文档,并检查它是否支持并行性。如果没有,本文将帮助你自己实现它。

本文转自雷锋网,如需转载请至雷锋网官网申请授权。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读