2016 - 2024

感恩一路有你

python循环结构 Python语言其实很慢,为什么机器学习这种快速算法步骤通常还是用呢?

浏览量:2772 时间:2021-03-14 18:59:30 作者:admin

Python语言其实很慢,为什么机器学习这种快速算法步骤通常还是用呢?

对于那些使用了多种开发语言(Java、C#、nodejs、Erlang)然后转到Python进行机器学习的人,我想谈谈我的看法。

首先,Python真的很慢吗?我的回答是真的。非常慢。for循环比CPP慢两个数量级。

那么为什么要使用Python呢?如果我们遍历超过一亿个数据,两个数量级的差异是不可接受的。但是,如果我们使用Python来执行顶层逻辑并阻塞数以亿计的数据,Python只会循环十几次,剩下的就留给CPU和GPU了。所以两个数量级无关紧要?一毫秒和100毫秒在整个系统中并不重要。

Python最大的优点是它可以非常优雅地将数据抛出到高效的C、CUDA中进行计算。Numpy、panda、numba这些优秀的开源库可以非常方便高效地处理海量数据,借助ZMQ、cell等还可以做分布式计算,gevent借助epoll系统IO优化。因此,它不需要花费太多的精力就可以优雅高效地完成海量数据处理和机器学习任务。这就是Python如此流行的原因。

好好想想。同样的性能,代码只有CPP或Java的三分之一或更少,不是很吸引人吗?

操控excel,选择Python还是vba?

对于大量数据,建议使用Python。VBA通常将数据存储在内存中。当数据没有分割,计算机配置不高时,会出现更多的卡。经过数据处理后,如果内存没有释放,电脑也会多卡。VBA一般启动两个CPU核进行数据计算,运算效率较低。现在微软已经停止更新VBA了,更建议大家学习python。如果只操作excel,两种学习难度相差不大,但是Python的开发空间会更好

另一种更方便的方法是使用power Bi的三个组件进行数据处理,power query进行数据处理,PowerPivot进行分析,power Bi进行数据处理的优点数据可视化的主要特点是学习周期短,数据可以自动刷新,启动速度较快。使用这种方法,效率可能比excel快,但速度仍然不如python快。当然,为了长期的可持续发展,还是比较推荐学习python的,但是起步周期会比较长

前10个坐标点都是用来模拟城市的位置的,因为平时用python容易一点比较熟悉,所以我选择Python作为实现蚁群算法的编程语言,但是我第一次睡着了。猜猜看有多长时间,超过六分钟,这是效率的可怕之处。你不能让老师等6分钟在最后的回答中选择最佳路径。恐怕要暂停了。用C语言对蚁群算法进行了优化,优化结果不到1min。没有比较就没有坏处。在这之后,我深刻地认识到Python执行效率的可怕方面。

有些人可能想知道为什么C和Java比python更高效。事实上,它与语言的底层代码有关。C语言是汇编语言的二次开发,Java大多是C和C的二次开发,但是我们的Python可以分为两种情况,一种是Cpython,另一种是jpython,分别是C和Java的二次开发,所以效率比这两种语言要低。我看到消息说,为了解决python的效率问题,政府计划重新开发底层python代码。最近,我没有看到任何相关的新闻。毕竟,这个工作量是非常巨大的。

Python到底有多慢?

在许多情况下,性能不是瓶颈。大约80%的应用程序不需要高性能。

为什么Python效率这么低,还这么火?

这个答案适用于蟒蛇3。Xpython本身,这确实是相对缓慢的。但相对而言,python的编写方式比directfor循环更快。例如,循环的标准编写如下:对于范围(10000)中的I:I**2,速度较慢,而标准编写的嵌套循环速度较慢。它可以重写为一个列表推理:[I**2 for I in range(10000)],这比direct for loop的标准编写方法快得多。此外,它还可以使用Python的高级函数映射来执行自动并行计算。它也可以写成列表(map(lambda I:I**2,range(10000)))。map函数几乎和list推理一样快。

python如何提高for循环效率?

说实话,编程的入门门槛不高。如果你能写一个If和else,你将几乎处于入门级。问题是上限很高。如果你想通过编程找到一份工作,你不能只使用If和else,不是吗?

迭代器、生成器、装饰器等都需要掌握。其实,这条路并不容易走。如果你想从一开始就掌握,那就需要半年的时间尽可能快,半年的时间尽可能慢。。。(这与你的认真和才华有关)

好吧,你又在网上做了一年外包项目,你已经34岁了。

如果你成功地进入了一家各方面薪水都不错的互联网公司,你能在这家公司工作多少年?众所周知,互联网公司正在迅速变化,许多公司在40岁时就被解雇了。

另外,在过去的三年里,你必须带着你的孩子,陪着你的妻子,工作。压力有多大

python循环结构 python提高for循环速度 python for in循环

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。