电子说
最近小编学习了很久的机器学习算法,也正在积极的准备找一些机器学习项目来练练手,对于编程工程能力不突出的小编来说,选择困难症犯了。
每次想要真正开始撸项目的时候,到底使用怎样的工具去实现呢?是遵循网上强人的说法”不自己实现的算法都没有灵魂”,还是说秉持选择现有工具开发模型的一贯作风呢?
在目前阶段比较好的方式还是去选用已有的工具或者框架来协助开发。成熟的框架在算法优化和全面上普遍都比个人开发要好,并且使用现有框架和工具能够大大提高开发的效率,如果童鞋们还是想要了解算法开发和实现步骤,可以通过查看源码及官方文档进行了解。
小编今天就给有机器学习开发需求,并对开发的工具有选择困难症的童鞋来推荐一些开源的框架。(小声说,很多网上的工具推荐都是好几个工具并列,这根本没办法治愈选择困难症好嘛!并且推荐的一些工具需要掌握的程度也没有做一些介绍,都去详细了解也会浪费一些时间好嘛!)
数据处理、分析工具
SQL语言(重要指数)
SQL语言作为一种通用的数据库查询语言,它的作用和强大自不用小编过多吹捧,不夸张的说,熟练掌握SQL语言在变化比闪电还快的互联网行业5年内不愁找不到工作。SQL语言不仅在关系型数据库中应用成熟,并且在许多大数据场景中应用也非常广泛,如:Hive、SparkSQL、Kafka、Flink等。
Pandas(重要指数)
Pandas作为Python数据处理、分析三架马车(与Numpy和Scipy)之首,地位摆在那,自然功能也相应的非常突出。它提供了各种高级的工具用于进行数据分析。Pandas有许多内置的方法用于分组统计、合并数据、数据筛选、以及时间序列操作。所有的这些操作都有出色的性能表现。因此,使用Pandas通常用于数据挖掘任务。
Numpy(重要指数)
Numpy是公认的最受欢迎的Python数据分析、机器学习库之一,数组接口是Numpy最佳及最重要的功能。这个接口可以用于把图像、音频、以及其他二进制流数据表示为多维实数数组。Numpy同时也是许多高级类库的底层库。
Scipy(重要指数)
Scipy也是一个常用的Python数据分析库,SciPy库包含了优化器、线性代数、积分、插值、快速傅立叶变换、信号和图像处理、统计等子模块。
总结一下,如果童鞋熟练使用python并手上有一个机器学习的活
学习优先度:pandas》numpy》scipy》SQL
建议掌握程度:
pandas熟练掌握(因为它真的是你以后用得最多的东西)
numpy掌握少数内容(numpy数组和一些创建矩阵、随机数的一些方法),numpy通常适合被大神用来手写算法,童鞋们初级阶段暂可不必了解太深
scipy不太需要特殊掌握(用得着的时候临时去找api即可,比如一些微积分、傅里叶变换、图像处理的问题不太好处理,去找找scipy里的方法吧)
SQL熟练掌握(不解释了,但是在仅熟练Python并需要立即上手完成机器学习和数据挖掘任务时,掌握SQL可以延后,但需要熟练掌握!)
机器学习、深度学习
Sklearn(重要指数)
Sklearn被认为是最优秀的机器学习库甚至没有之一,是一个基于Numpy与SciPy的Python库。它包含了大量用于实现传统机器学习和数据挖掘任务的算法,比如数据降维、分类、回归、聚类、以及模型选择等。
TensorFlow(重要指数)
如果你正在使用Python来从事机器学习项目,那么你一定听说过它,最新版本2.0集合了pytorch的优点,支持动态运算图。也集成了keras,能够以最简便的方式搭建模型,可以说现在的Tensorflow在机器学习、深度学习领域简直无所不能。
Pytorch(重要指数)
优秀的深度学习框架。
Keras(重要指数-)
优秀的深度学习脚手架,可以让深度学习像搭积木那样搭建起来。
Theano(重要指数-)
优秀的深度学习框架。
总结一下,从小编对框架的描述篇幅可以看得出来:
学习优先度:Tensorflow 》》 sklearn 》 pytorch(未包含的建议先不学)
建议掌握程度:
Tensorflow熟练掌握(这是日后用得非常多的框架,学习起来有一定难度,但真的常用)
Sklearn掌握少数内容(sklearn需要熟练掌握其建模流程和规则,因为sklearn实在太规范了,它的学习较简单,但是真的经常会使用到,所以把sklearn当成权威字典随时去查,是小编比较建议的使用方式)
Pytorch可不掌握(框架精通一种即可,尤其tf2.0在支持动态图以后,pytorch的优势也没那么大了)
Keras 可不掌握(tf2.0已经集成了keras,掌握tf2.0直接可以使用)
Theano 可不掌握
整体而言总结一下,需要花时间多学习的工具有:pandas、tensorflow、SQL语言,SQL语言可以等有时间之后再集中学习,不需要花太多时间去学习。把工具当字典的有:sklearn、numpy、scipy,sklearn,需要掌握一些传统机器学习建模流程和规则可以去github上找一些示例看,总体而言使用较简单。其他的工具可以先放一放。小编说的够清楚啦,关上你的手机,赶紧开始学习起来吧。
全部0条评论
快来发表一下你的评论吧 !