加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

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

发布时间:2019-09-21 02:19:47 所属栏目:建站 来源:skura
导读:每个数据科学项目早晚城市面对一个不行停止的挑衅:速率题目。行使更大的数据会议导致处理赏罚速率变慢,因此最终必需想步伐优化算法的运行时刻。正如你们大大都人已经知道的,并行化是这种优化的须要步调。python 为并行化提供了两个内置库:多处理赏罚和线程。在

此刻我们将研究怎样镌汰该算法的运行时刻。我们知道这个算法可以在必然水平上并行化,可是什么样的并行化才是吻合的呢?它没有任何 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 秒。

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

结论

大大都(假如不是全部的)数据科学项目将会发明并行计较能大幅进步计较速率。究竟上,很多风行的数据科学库已经内置了并行性,你只需启用它即可。因此,在实行本身实现它之前,请查察正在行使的库的文档,并搜查它是否支持并行性。假如没有,本文将辅佐你本身实现它。

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

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读