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