最近小編學(xué)習(xí)了很久的機(jī)器學(xué)習(xí)算法,也正在積極的準(zhǔn)備找一些機(jī)器學(xué)習(xí)項(xiàng)目來練練手,對于編程工程能力不突出的小編來說,選擇困難癥犯了。
每次想要真正開始擼項(xiàng)目的時(shí)候,到底使用怎樣的工具去實(shí)現(xiàn)呢?是遵循網(wǎng)上強(qiáng)人的說法”不自己實(shí)現(xiàn)的算法都沒有靈魂”,還是說秉持選擇現(xiàn)有工具開發(fā)模型的一貫作風(fēng)呢?
在目前階段比較好的方式還是去選用已有的工具或者框架來協(xié)助開發(fā)。成熟的框架在算法優(yōu)化和全面上普遍都比個(gè)人開發(fā)要好,并且使用現(xiàn)有框架和工具能夠大大提高開發(fā)的效率,如果童鞋們還是想要了解算法開發(fā)和實(shí)現(xiàn)步驟,可以通過查看源碼及官方文檔進(jìn)行了解。
小編今天就給有機(jī)器學(xué)習(xí)開發(fā)需求,并對開發(fā)的工具有選擇困難癥的童鞋來推薦一些開源的框架。(小聲說,很多網(wǎng)上的工具推薦都是好幾個(gè)工具并列,這根本沒辦法治愈選擇困難癥好嘛!并且推薦的一些工具需要掌握的程度也沒有做一些介紹,都去詳細(xì)了解也會浪費(fèi)一些時(shí)間好嘛!)
數(shù)據(jù)處理、分析工具
SQL語言(重要指數(shù))
SQL語言作為一種通用的數(shù)據(jù)庫查詢語言,它的作用和強(qiáng)大自不用小編過多吹捧,不夸張的說,熟練掌握SQL語言在變化比閃電還快的互聯(lián)網(wǎng)行業(yè)5年內(nèi)不愁找不到工作。SQL語言不僅在關(guān)系型數(shù)據(jù)庫中應(yīng)用成熟,并且在許多大數(shù)據(jù)場景中應(yīng)用也非常廣泛,如:Hive、SparkSQL、Kafka、Flink等。
Pandas(重要指數(shù))
Pandas作為Python數(shù)據(jù)處理、分析三架馬車(與Numpy和Scipy)之首,地位擺在那,自然功能也相應(yīng)的非常突出。它提供了各種高級的工具用于進(jìn)行數(shù)據(jù)分析。Pandas有許多內(nèi)置的方法用于分組統(tǒng)計(jì)、合并數(shù)據(jù)、數(shù)據(jù)篩選、以及時(shí)間序列操作。所有的這些操作都有出色的性能表現(xiàn)。因此,使用Pandas通常用于數(shù)據(jù)挖掘任務(wù)。
Numpy(重要指數(shù))
Numpy是公認(rèn)的最受歡迎的Python數(shù)據(jù)分析、機(jī)器學(xué)習(xí)庫之一,數(shù)組接口是Numpy最佳及最重要的功能。這個(gè)接口可以用于把圖像、音頻、以及其他二進(jìn)制流數(shù)據(jù)表示為多維實(shí)數(shù)數(shù)組。Numpy同時(shí)也是許多高級類庫的底層庫。
Scipy(重要指數(shù))
Scipy也是一個(gè)常用的Python數(shù)據(jù)分析庫,SciPy庫包含了優(yōu)化器、線性代數(shù)、積分、插值、快速傅立葉變換、信號和圖像處理、統(tǒng)計(jì)等子模塊。
總結(jié)一下,如果童鞋熟練使用python并手上有一個(gè)機(jī)器學(xué)習(xí)的活
學(xué)習(xí)優(yōu)先度:pandas》numpy》scipy》SQL
建議掌握程度:
pandas熟練掌握(因?yàn)樗娴氖悄阋院笥玫米疃嗟臇|西)
numpy掌握少數(shù)內(nèi)容(numpy數(shù)組和一些創(chuàng)建矩陣、隨機(jī)數(shù)的一些方法),numpy通常適合被大神用來手寫算法,童鞋們初級階段暫可不必了解太深
scipy不太需要特殊掌握(用得著的時(shí)候臨時(shí)去找api即可,比如一些微積分、傅里葉變換、圖像處理的問題不太好處理,去找找scipy里的方法吧)
SQL熟練掌握(不解釋了,但是在僅熟練Python并需要立即上手完成機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘任務(wù)時(shí),掌握SQL可以延后,但需要熟練掌握!)
機(jī)器學(xué)習(xí)、深度學(xué)習(xí)
Sklearn(重要指數(shù))
Sklearn被認(rèn)為是最優(yōu)秀的機(jī)器學(xué)習(xí)庫甚至沒有之一,是一個(gè)基于Numpy與SciPy的Python庫。它包含了大量用于實(shí)現(xiàn)傳統(tǒng)機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘任務(wù)的算法,比如數(shù)據(jù)降維、分類、回歸、聚類、以及模型選擇等。
TensorFlow(重要指數(shù))
如果你正在使用Python來從事機(jī)器學(xué)習(xí)項(xiàng)目,那么你一定聽說過它,最新版本2.0集合了pytorch的優(yōu)點(diǎn),支持動態(tài)運(yùn)算圖。也集成了keras,能夠以最簡便的方式搭建模型,可以說現(xiàn)在的Tensorflow在機(jī)器學(xué)習(xí)、深度學(xué)習(xí)領(lǐng)域簡直無所不能。
Pytorch(重要指數(shù))
優(yōu)秀的深度學(xué)習(xí)框架。
Keras(重要指數(shù)-)
優(yōu)秀的深度學(xué)習(xí)腳手架,可以讓深度學(xué)習(xí)像搭積木那樣搭建起來。
Theano(重要指數(shù)-)
優(yōu)秀的深度學(xué)習(xí)框架。
總結(jié)一下,從小編對框架的描述篇幅可以看得出來:
學(xué)習(xí)優(yōu)先度:Tensorflow 》》 sklearn 》 pytorch(未包含的建議先不學(xué))
建議掌握程度:
Tensorflow熟練掌握(這是日后用得非常多的框架,學(xué)習(xí)起來有一定難度,但真的常用)
Sklearn掌握少數(shù)內(nèi)容(sklearn需要熟練掌握其建模流程和規(guī)則,因?yàn)閟klearn實(shí)在太規(guī)范了,它的學(xué)習(xí)較簡單,但是真的經(jīng)常會使用到,所以把sklearn當(dāng)成權(quán)威字典隨時(shí)去查,是小編比較建議的使用方式)
Pytorch可不掌握(框架精通一種即可,尤其tf2.0在支持動態(tài)圖以后,pytorch的優(yōu)勢也沒那么大了)
Keras 可不掌握(tf2.0已經(jīng)集成了keras,掌握tf2.0直接可以使用)
Theano 可不掌握
整體而言總結(jié)一下,需要花時(shí)間多學(xué)習(xí)的工具有:pandas、tensorflow、SQL語言,SQL語言可以等有時(shí)間之后再集中學(xué)習(xí),不需要花太多時(shí)間去學(xué)習(xí)。把工具當(dāng)字典的有:sklearn、numpy、scipy,sklearn,需要掌握一些傳統(tǒng)機(jī)器學(xué)習(xí)建模流程和規(guī)則可以去github上找一些示例看,總體而言使用較簡單。其他的工具可以先放一放。小編說的夠清楚啦,關(guān)上你的手機(jī),趕緊開始學(xué)習(xí)起來吧。
-
數(shù)據(jù)處理
+關(guān)注
關(guān)注
0文章
572瀏覽量
28509 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132315
發(fā)布評論請先 登錄
相關(guān)推薦
評論