偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

機器學習研究與開發(fā)平臺的選擇

人工智能 機器學習
目前機器學習可以說是百花齊放階段,不過如果要學習或者研究機器學習,進而用到生產(chǎn)環(huán)境,對平臺,開發(fā)語言,機器學習庫的選擇就要費一番腦筋了。這里就我自己的機器學習經(jīng)驗做一個建議,僅供參考。

目前機器學習可以說是百花齊放階段,不過如果要學習或者研究機器學習,進而用到生產(chǎn)環(huán)境,對平臺,開發(fā)語言,機器學習庫的選擇就要費一番腦筋了。這里就我自己的機器學習經(jīng)驗做一個建議,僅供參考。

[[188142]]

首先,對于平臺選擇的***個問題是,你是要用于生產(chǎn)環(huán)境,也就是具體的產(chǎn)品中,還是僅僅是做研究學習用?

1. 生產(chǎn)環(huán)境中機器學習平臺的搭建

如果平臺是要用于生產(chǎn)環(huán)境的話,接著有一個問題,就是對產(chǎn)品需要分析的數(shù)據(jù)量的估計,如果數(shù)據(jù)量很大,那么需要選擇一個大數(shù)據(jù)平臺。否則的話只需要一個單機版的平臺就可以了。

1.1 生產(chǎn)環(huán)境中機器學習大數(shù)據(jù)平臺的搭建

生產(chǎn)環(huán)境里面大數(shù)據(jù)平臺,目前最主流的就是Spark平臺,加上輔助的分布式數(shù)據(jù)處理容器,比如YARN,或者Mesos.如果需要實時的收集在線數(shù)據(jù),那么就加上Kafka。簡言之,一個通用的大數(shù)據(jù)處理平臺就是集成Spark + YARN(Mesos) + Kafka. 我現(xiàn)在做的產(chǎn)品項目都是基于Spark + YARN+ Kafka的,目前來看,這個平臺選擇基本上是主流的方向。

當然,有人會說,這么多開源軟件,一起集成起來好麻煩,大坑肯定不少,有沒有一個通用的平臺,可以包括類似Spark + YARN+ Kafka的大數(shù)據(jù)平臺功能呢?目前據(jù)我所知,做的比較好的有CDAP(http://cdap.io)。它對Spark, YARN, Kafka還有一些主流的開源數(shù)據(jù)處理軟件進行了集成,開發(fā)者只需要在它上面封裝的一層API上做二次開發(fā)就可以了。這應(yīng)該是一個不錯的點子,不過目前還沒有看到商用的成功案例,所以我們在構(gòu)架選型的時候就沒有考慮CDAP。

因此,圍繞Spark + YARN+ Kafka的大數(shù)據(jù)平臺還是***。由于Spark MLlib的機器學習算法并不豐富好用,因此如果你的產(chǎn)品中需要一些MLlib中沒有的算法,就需要自己去找開源實現(xiàn)了。

1.2 生產(chǎn)環(huán)境中機器學習單機數(shù)據(jù)平臺的搭建

生產(chǎn)環(huán)境里面如果數(shù)據(jù)里不大,大數(shù)據(jù)平臺就顯得有點over design了,此時我們有更多的選擇。***,仍然是Spark平臺,不過我們不需要分布式的容器YARN和分布式數(shù)據(jù)分發(fā)的路由Kafka了。為什么***還是Spark呢?因為我們要考慮擴展,現(xiàn)在數(shù)據(jù)量不大,不代表以后數(shù)據(jù)量不大。這也是我參與的一些小型數(shù)據(jù)分析項目也是選擇Spark的原因。當然我覺得還有一些原因是Spark同時支持了Python, Java, Scala和R。這降低了很多程序員的參與門檻。我參與的Spark項目中,開發(fā)語言主要是Java和Scala。Python沒有選擇是因為一些速度的原因和系統(tǒng)其它部分都是用Java寫的。

第二個選擇是以scikit-learn為主的一系列python工具,包括 numpy, scipy, pandas, MatplotLib等等。特點是類庫豐富,尤其是scikit-learn的機器學習庫,可以說是十八般武器,樣樣都有。另外就是由于可以交互式的編寫程序,方便快速開發(fā)原型。我參與的有兩個項目在可行性分析階段,都是用scikit-learn來做原型和給客戶做demo。

因此,生產(chǎn)環(huán)境中機器學習單機數(shù)據(jù)平臺, Spark是做產(chǎn)品***,而scikit-learn家族適合做快速的原型開發(fā)驗證。

2. 研究環(huán)境中機器學習平臺的搭建

如果只是做研究,那么選擇就很多了,主流的有三種。

  • ***種是基于Spark MLlib來學習。好處是學到的東西用到生產(chǎn)環(huán)境可以無縫切換,但是壞處也很明顯,Spark東西很多,在自己的單機上跑很吃內(nèi)存,比較慢,而且MLlib的類庫并不豐富,很多算法需要自己再去找類庫。根據(jù)周圍同事的反饋,比較吃力,因此基于Spark MLlib來學習機器學習,我個人覺得不是一個好的選擇。
  • 第二種是基于scikit-learn為主的一系列python工具來學習,包括上面提到的numpy, scipy, pandas, MatplotLib等等。好處是類庫多,API強大,可以讓你專注于數(shù)據(jù)的分析,例子也多,學習起來不難。當然也有缺點,就是這一大堆的python庫,要熟練的用起來需要一段時間。 個人比較推薦這種方法,周圍同事來說,用scikit-learn學習交流也是主流。
  • 第三種是基于R的平臺來做機器學習(不包括Spark R),主要平臺是R studio。由于R是一門比較老的語言,因此他的數(shù)據(jù)處理和機器學習的API比較豐富,尤其是對于之前做數(shù)據(jù)分析師的人來說更是熟悉不過。但是R是一門相對封閉的語言,社區(qū)遠遠沒有Python的活躍,而且對于程序員來說, R的那種語法讓人難受。幾年前,一般會認為R的機器學習比Python的好,但是現(xiàn)在Python已經(jīng)將R遠遠甩在了后面。因此,除非你之前已經(jīng)很熟悉R語言,否則完全不推薦用R來研究機器學習,BTW,這里沒有歧視R的意思。

總之,如果你想研究學習機器學習,并且沒有特殊的R背景,scikit-learn是你的***。當然,有人會說,我喜歡自己去一點點的實現(xiàn)機器學習的算法,不喜歡直接調(diào)用類庫,這樣不行嗎? 當然,這樣肯定是非常不錯的,并且對加深各個算法理解很有好處。只是這樣比較的花時間,如果你和我一樣時間不太多的話,還是直接調(diào)用API來研究數(shù)據(jù)比較直接。

責任編輯:未麗燕 來源: 36大數(shù)據(jù)
相關(guān)推薦

2020-08-18 10:39:45

機器學習大數(shù)據(jù)云計算

2017-06-04 10:36:24

數(shù)據(jù)科學機器學習

2019-01-16 18:22:24

機器學習人工智能計算機

2023-01-12 12:28:52

2018-07-19 10:35:12

機器學習數(shù)據(jù)平臺

2022-03-17 17:08:05

機器學習算法類型

2013-01-23 09:15:58

SaaS移動開發(fā)平臺

2020-05-26 18:35:00

機器學習人工智能AI

2024-05-23 16:48:42

機器學習算法人工智能

2021-04-01 22:19:54

機器學習模型數(shù)據(jù)

2017-07-26 17:25:22

機器學習SparkAPI

2015-06-24 15:40:01

機器學習云平臺微軟Azure

2020-11-26 18:30:33

機器學習Kubernetes開發(fā)

2017-03-23 14:58:00

互聯(lián)網(wǎng)

2016-12-28 15:19:22

大數(shù)據(jù)機器學習銷售預(yù)測

2017-08-25 14:05:01

機器學習算法模型

2021-07-26 09:00:00

開發(fā)編程工具

2018-11-05 13:00:04

2021-04-25 10:26:34

Python機器學習人工智能

2020-10-28 13:51:45

機器學習化學研發(fā)AI
點贊
收藏

51CTO技術(shù)棧公眾號