大家好,今天小编关注到一个比较有意思的话题,就是关于python进行机器学习的问题,于是小编就整理了3个相关介绍Python进行机器学习的解答,让我们一起看看吧。
python做机器学习的话有哪些推荐的书跟课程?
机器学习:
1.理论研究和推导可以看周志华老师的《机器学习》,也称为西瓜书,里面讲了各种算法的推导,比如线性回归,k值最近邻,支撑向量机等可解释模型,缺少神经网络的具体讲解。(还有一点就是其中不涉及到代码)
2.被奉为神作的是一本名为《Hands-On Machine Learning with Scikit-Learn,Keras&TensorFlow》,这本书把机器学习的讲解和代码结合在一块,从线性回归到支撑向量机再到深度学习都有设计(但以机器学习为主)
3.《机器学习实战》,真本书是一本比较经典的书,书比较老了,但是讲的挺好,这本书主要偏重代码,没有涉及到深度学习
深度学习:
1.理论研究的话可以参考花书《深度学习》,这本书纯粹讲理论推导,不涉及代码,是一本比较经典的书
2.《TensorFlow深度学习》,这本书Github上有免费的电子版,把深度学习的TF2.0相结合,俗称龙书,应该是TF书里面比较好的了
3.《动手学深度学习》pytorch版,这本书是把深度学习和Pytorch相结合,是Pytorch里面比较好的书籍了
课程的话:入门机器学习可以看吴恩达的课,主要是我一般喜欢看书自己学[捂脸][捂脸][捂脸]
spark机器学习和python机器学习的区别是什么?
spark是一个框架,python是一种语言,spark可以由python编写,python可以在spark下运行。原理上都是一样的,机器学习的原理都是数学上的东西。两者的区别只是语法上的不同,spark比较适合处理海量数据,但是不代表python不可以,而且python引入spark架构,既可以充分利用spark的分布式优势,也可以利用python灵活方便的优势。用的话选一个用就好了,没有一定的谁好谁坏。
用python实现一些机器学习算法时是否需要自己写轮子?
不需要。
原因之一:Python有它非常强大并且开源的免费库,这是Python语言为什么要优于其他语言的原因。
原因之二:我们只需要找到相对应的库进行加以修改即可。
原因之三:现在机器学习的算法大多都已成熟,我们没有必要重新研究别人已经研究出来的算法,浪费时间,得不偿失。
然而,如果设计的新算法时,我推荐在已有的算法基础升级会更好,因为从无到有毕竟是很困难的。
sklearn、TensorFlow(包括TensorFlow的高层封装Keras)、PyTorch……Python有这么多优秀的库,实现各种机器学习算法很方便,何必要自己造轮子呢?
(图片来源:tertiarycourses.com.sg)
你可以看看最近发表的机器学习算法方面的论文,很多论文都开源了配套的代码,这些代码基本都是基于各种框架实现模型,几乎看不到从头自己造轮子实现的。
自己造轮子,不仅写起来麻烦(这还假设你造的轮子语义上没有错误、性能上也不差),别人阅读起来也不方便。
很多人过分推崇从头写起(write X from scratch),恨不得什么都自己写,不屑于使用TensorFlow等框架。但是,TensorFlow不用,那numpy用不用呢?所以说,这种想法其实不可取。
当然,这也不是绝对的,以下情形属于例外:
- 基于学习的目的,加深对基本概念/模块的理解。比如用框架写的话,像反向传播之类的轮子都是现成的。脱离框架自己手写,可以更好地理解这些基本概念/模块。
- 基于性能需求进行优化,比如,使用了特殊的硬件,或者应用场景非常特殊,现有的轮子不能用或者不好用。
- 应付面试。其实这个可以归入第一条。因为之所以有些面试会设置脱离框架手写算法的题目,就是为了看你对基本概念/模块的理解程度。
这个得看你出于什么目的而学习机器学习的,如果只是出于工作的需要或者短时间的应用,那你只需要使用框架来实现机器学习的算法就可以了,这些框架都有sklearn(标准机器学习库),tensorflow,pytorch等,这些框架各有各的缺点和优点,看需要来决定用哪种,这样就不用自己造轮子了,只需要理解其算法过程与框架算法的实现函数就能实现机器学习算法,是不是很过瘾?还有一种情况就是出于自身兴趣而学习的机器学习,我想大部分学习机器学习的程序员都是出于兴趣,既然是兴趣,那就会想着靠自己一步一步来实现这些算法,以便理解其算法原理,实现过程,还可以加深算法的印象,真正的掌握该算法,实现之后自己还会有很高的成就感,觉得自己真是太厉害了有木有?反正我就这种感觉,不过我只是自己实现了手写数字的神经网络识别算法,其识别率还蛮可观的。
如果你想深入机器学习领域,那你就应该自己至少造一次轮子,以便真正掌握该算法,之后的使用不想造轮子了可以使用框架来实现。如果只是短时间的应用,那就用框架吧,很快就能看到实现效果,还不用自己造轮子呢,方便,快速。
祝你好运!
到此,以上就是小编对于python进行机器学习的问题就介绍到这了,希望介绍关于python进行机器学习的3点解答对大家有用。