成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么急于尋找Python的替代者?

譯文 精選
開(kāi)發(fā) 前端
本文將探討新機(jī)器學(xué)習(xí)語(yǔ)言的出現(xiàn),以及它們?nèi)绾吻治gPython市場(chǎng)份額以及未來(lái)機(jī)器學(xué)習(xí)的變化。

?譯者 | 劉濤

審校 | 孫淑娟

人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是我們?nèi)粘I畹幕锇椋茈y想象沒(méi)有算法和統(tǒng)計(jì)模型會(huì)是怎樣一種生活。每當(dāng)我們聽(tīng)到機(jī)器學(xué)習(xí)這個(gè)詞時(shí),首先想到的就是 Python。因?yàn)镻ython長(zhǎng)期以來(lái)一直是機(jī)器學(xué)習(xí)的代言人,它在幫助實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)層面上發(fā)揮了重要作用。

Python可能是最優(yōu)美的機(jī)器學(xué)習(xí)語(yǔ)言,有48.24%的開(kāi)發(fā)人員使用它。由于Python具有強(qiáng)大便利的低級(jí)包和高級(jí)API接口,它在科學(xué)計(jì)算的所有領(lǐng)域中都具有無(wú)可比擬的優(yōu)勢(shì),但在用于特定任務(wù)時(shí),它也有一些缺點(diǎn)。因此,對(duì)于Python替代語(yǔ)言的需求也越來(lái)越普遍。

目前,許多新興語(yǔ)言在性能上與Python相當(dāng),甚至比Python更好。所以它不再是機(jī)器學(xué)習(xí)的唯一選項(xiàng)。Scala,Julia,MQL5以及其他非 Python超集的語(yǔ)言可以用來(lái)開(kāi)發(fā)和提供機(jī)器學(xué)習(xí)應(yīng)用。因此機(jī)器學(xué)習(xí)不再局限于Python。

本文將探討新機(jī)器學(xué)習(xí)語(yǔ)言的出現(xiàn),以及它們?nèi)绾吻治gPython市場(chǎng)份額以及未來(lái)機(jī)器學(xué)習(xí)的變化。

1.Python的缺點(diǎn) 

讓我們來(lái)討論一下Python的一些缺點(diǎn),這些缺點(diǎn)是開(kāi)發(fā)者和數(shù)據(jù)科學(xué)家經(jīng)常面對(duì)的。

性能和速度

Python開(kāi)發(fā)速度很快,但是計(jì)算速度非常慢。它使用解釋器而非編譯器。由于執(zhí)行順序代碼,它比其他的數(shù)據(jù)科學(xué)編程語(yǔ)言要慢。Python的速度比C慢,因?yàn)镃有很多有用的工具和庫(kù)。除非你掌握了矢量化代碼,否則你會(huì)發(fā)現(xiàn)它是多么的慢。

Cython是一個(gè)Python的超集,它將Python源代碼編譯成C語(yǔ)言代碼,最關(guān)鍵是提供了C語(yǔ)言級(jí)的運(yùn)算速度,而無(wú)需額外的運(yùn)算資源。很多程序員使用Cython編寫(xiě)Python代碼的運(yùn)行速度和C語(yǔ)言的一樣快,但是更簡(jiǎn)潔易讀。

設(shè)計(jì)局限

Python在設(shè)計(jì)方面存在著巨大的缺陷,這是由它的動(dòng)態(tài)類(lèi)型造成的。 通常編程語(yǔ)言中的動(dòng)態(tài)類(lèi)型變量不需要特別聲明。Python使用的是鴨子型,這種類(lèi)型讓人困惑。在鴨子型中,一個(gè)對(duì)象的類(lèi)或?qū)傩詻](méi)有它的功能那么重要。 鴨子型不需要類(lèi)型檢查。 您也可以對(duì)進(jìn)程或?qū)傩赃M(jìn)行驗(yàn)證。

內(nèi)存消耗效率低

Python由于其龐大的結(jié)構(gòu)而占用了大量?jī)?nèi)存。此外,Python數(shù)據(jù)類(lèi)型在內(nèi)存消耗方面很靈活。它不適用于內(nèi)存密集型任務(wù)。其靈活的數(shù)據(jù)類(lèi)型也會(huì)導(dǎo)致內(nèi)存消耗。因此,當(dāng)您創(chuàng)建大型且長(zhǎng)期運(yùn)行的Python系統(tǒng)時(shí),Python中的內(nèi)存管理變得具有挑戰(zhàn)性。

線(xiàn)程不足

與其他語(yǔ)言相比,Python線(xiàn)程效率更低。盡管Python是多線(xiàn)程處理任務(wù),但每次只能執(zhí)行一個(gè)線(xiàn)程。因此,多線(xiàn)程的 Python 提供了單線(xiàn)程的處理效率。Python有一個(gè)全局解釋器鎖 (GIL),同一時(shí)間只允許一個(gè)線(xiàn)程使用。只有在Python使用原生庫(kù)的情況下,才能同時(shí)運(yùn)行多線(xiàn)程。此外,Python的超集 Jython可以實(shí)現(xiàn)多線(xiàn)程,而Python則不行。

2.為什么數(shù)據(jù)科學(xué)家要尋找Python替代者? 

Python確實(shí)很棒。但它不可能同時(shí)既是閃電俠又是無(wú)敵浩克!有人可能需要閃電俠,有人可能需要綠巨人。用戶(hù)需求是多樣性的。同樣,Python也不是專(zhuān)為數(shù)學(xué)和數(shù)據(jù)科學(xué)應(yīng)用而設(shè)計(jì)的。它需要一個(gè)像NumPy或Tensorflow這樣的第三方庫(kù),專(zhuān)門(mén)用于深度學(xué)習(xí)算法。因此,與Python相比,數(shù)據(jù)專(zhuān)用編程語(yǔ)言更具優(yōu)勢(shì)。

例如,在商業(yè)領(lǐng)域,機(jī)器學(xué)習(xí)需要速度和可擴(kuò)展性以減少執(zhí)行時(shí)間。您不能讓顧客等太久。因此,您需要更快的ML語(yǔ)言(通用函數(shù)式編程語(yǔ)言)來(lái)執(zhí)行。速度越快越好。

現(xiàn)在,Python已經(jīng)很快了,但還有什么能比Python更快的呢?有的,它是Julia,或是Scala!

在這種情況下,數(shù)據(jù)科學(xué)家更喜歡使用與Python不同的編程語(yǔ)言。

3.數(shù)據(jù)科學(xué)的Python替代方案 

在各種應(yīng)用程序環(huán)境中,有幾種Python替代方案的性能與Python相當(dāng)或優(yōu)于Python。以下是一些Python數(shù)據(jù)科學(xué)的替代方案:

(1)Julia

Julia是一種全新的高級(jí)動(dòng)態(tài)編程語(yǔ)言,具有創(chuàng)新性、快速性和舒適性。它是一種能夠編寫(xiě)各種應(yīng)用程序的通用語(yǔ)言。值得一提的是,其軟件包生態(tài)系統(tǒng)和功能有很大一部分都是面向高級(jí)數(shù)值計(jì)算的,非常適合機(jī)器學(xué)習(xí)。

Julia基于多種語(yǔ)言構(gòu)建,包括C語(yǔ)言和Python、R和MATLAB等高級(jí)動(dòng)態(tài)類(lèi)語(yǔ)言。Julia汲取了這些語(yǔ)言的可選類(lèi)型、語(yǔ)法和特性,因?yàn)镴ulia的目標(biāo)是整合它們的優(yōu)點(diǎn)并消除其缺點(diǎn)。

圖片

Julia的創(chuàng)造者希望開(kāi)發(fā)出一種語(yǔ)言,可以像C語(yǔ)言一樣快速地處理科學(xué)計(jì)算、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、大規(guī)模線(xiàn)性代數(shù)、分布式和并行計(jì)算。然而,他們最終開(kāi)發(fā)出的語(yǔ)言速度更快。 盡管Python的速度越來(lái)越快,但Julia還是勝過(guò)了它。

Julia簡(jiǎn)化了許多用于機(jī)器學(xué)習(xí)的數(shù)學(xué)符號(hào)。它提供諸如ArrayFire這樣的多樣化GPU編程包,它能使GPU執(zhí)行通用代碼。每個(gè)包都有自己獨(dú)特的編程模式,比如, NVIDIA有CUDA. Jl,AMD有AMDGPU. jl和oneAPI。

機(jī)器學(xué)習(xí)工程師可以在大型集群中快速部署Julia,受益于其強(qiáng)大的工具,例如MLBase.jl、Flux.jl(深度學(xué)習(xí))、MLJ.j(通用機(jī)器學(xué)習(xí))和Knet.jl(深度學(xué)習(xí))。Flux是 一個(gè)高速的深度機(jī)器學(xué)習(xí)庫(kù),它預(yù)裝了額外的工具,使Julia的能力達(dá)到了最大化。 同樣,還包括適用于 ML應(yīng)用程序的ScikitLearn.jl、TensorFlow.jl和MXNet.jl。

Julia擅長(zhǎng)解決復(fù)雜的計(jì)算問(wèn)題。因此,包括斯坦福大學(xué)和東京都立大學(xué)在內(nèi)的眾多著名學(xué)府都開(kāi)設(shè)了Julia課程。 它在與Python的比較中,性能也很穩(wěn)固。

(2)Scala

像Logan Kilpatrick這樣的眾多行業(yè)高管認(rèn)為,Julia是機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的未來(lái)。

Julia的主要特點(diǎn):

  • Julia的一些核心功能可實(shí)現(xiàn)高效的數(shù)據(jù)科學(xué)計(jì)算:
  • Julia的運(yùn)算速度很快。它比Python快2-20倍;
  • 靈活豐富的庫(kù)功能;
  • 內(nèi)置包管理器;
  • PyCall和CCall 包直接調(diào)用Python;
  • 使用類(lèi)似shell的功能管理其他進(jìn)程;
  • 為并行和分布式計(jì)算而開(kāi)發(fā);
  • 自動(dòng)為各種參數(shù)類(lèi)型生成高效代碼;
  • 具有MIT許可證的免費(fèi)和開(kāi)源軟件。

Scala是一種高級(jí)編程語(yǔ)言,它同時(shí)支持面向?qū)ο蠛秃瘮?shù)式編程技術(shù)。Martin Odersky創(chuàng)建了它,并于2004年6月正式推出。Scala在開(kāi)發(fā)人員中越來(lái)越受歡迎,并且正在跨越當(dāng)今的技術(shù)。

Scala是一種與Java應(yīng)用程序和庫(kù)兼容的Java虛擬機(jī) (JVM) 語(yǔ)言。 因?yàn)樗狈緮?shù)據(jù)的概念,所以經(jīng)常被認(rèn)為是一種靜態(tài)語(yǔ)言。 它的多范式、多核架構(gòu)很復(fù)雜。

ApacheSpark是一種功能強(qiáng)大、速度快的實(shí)時(shí)數(shù)據(jù)流和數(shù)據(jù)處理工具。Scala Spark有助于復(fù)雜的映射、ETL和大型數(shù)據(jù)處理任務(wù)。Scala允許用戶(hù)通過(guò)理解代碼來(lái)實(shí)現(xiàn)新的Spark功能。Scala與Java的兼容性使程序員能夠快速掌握面向?qū)ο蟮母拍睢?/p>

SparkMLlib包含了Spark中的高質(zhì)量算法和出色的性能,使其成為可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù)。分類(lèi)、回歸、聚類(lèi)、協(xié)同過(guò)濾和降維都包含在Spark的MLlib機(jī)器學(xué)習(xí)庫(kù)中。此外,Breeze、Spire、Saddle和Scalalab是其他一些有助于創(chuàng)建強(qiáng)大的數(shù)據(jù)處理應(yīng)用程序的ML庫(kù)。

ApacheKafka是一種開(kāi)源分布式事件流平臺(tái),隨著Python的流行,Spark也開(kāi)始大行其道。Scala Spark中執(zhí)行緩慢的內(nèi)容必然會(huì)在PySpark中崩潰。此外,您可以使用TensorFlow Scala庫(kù)為機(jī)器學(xué)習(xí)模型創(chuàng)建一個(gè)適應(yīng)性強(qiáng)的高性能服務(wù)系統(tǒng)。

Scala的靜態(tài)類(lèi)型有助于復(fù)雜的應(yīng)用程序。它的JVM和JavaScript運(yùn)行時(shí)使高性能系統(tǒng)能夠輕松訪(fǎng)問(wèn)庫(kù)。此外,它的性能優(yōu)于Python。 它也在與Python的比較中站穩(wěn)了腳跟。

Scala的主要特點(diǎn)

Scala的一些核心功能可實(shí)現(xiàn)高效的數(shù)據(jù)科學(xué)計(jì)算:

  • Scala的速度比Python快10倍;
  • 具備高級(jí)類(lèi)型推斷機(jī)制;
  • 樣例類(lèi)(case class)和模式匹配;
  • 擁有簡(jiǎn)潔但易讀的表達(dá)性語(yǔ)法;
  • 提供高階函數(shù);
  • 使用Singleton對(duì)象而不是靜態(tài)變量;
  • 使用OOP、FP或混合風(fēng)格的代碼;
  • Scala源代碼編譯為“. class”文件,該文件在JVM上執(zhí)行。

(3)MQL5

MQL5是一種提供高級(jí)數(shù)據(jù)分析及機(jī)器學(xué)習(xí)功能的高級(jí)面向?qū)ο缶幊陶Z(yǔ)言。它基于廣泛使用和廣為人知的編程語(yǔ)言C++之上,并以速度快、通用性強(qiáng)著稱(chēng)。

MQL5不是像Python、Julia或Scala那樣的日常ML語(yǔ)言。 它專(zhuān)門(mén)為金融市場(chǎng)創(chuàng)造,用于監(jiān)控金融工具。該語(yǔ)言的核心與其他語(yǔ)言相似,但具有獨(dú)特的功能。MQL5支持整數(shù)、布爾值、文字、字符串、日期、時(shí)間和枚舉。它把結(jié)構(gòu)和類(lèi)都定義為復(fù)雜數(shù)據(jù)類(lèi)型。

MQL5語(yǔ)言說(shuō)明文檔列出了函數(shù)、操作、保留字等。此外,它還提供了整數(shù)、布爾值、文字、字符串、日期和時(shí)間等數(shù)據(jù)類(lèi)型。它有復(fù)雜的結(jié)構(gòu)和類(lèi)。 此外,該說(shuō)明文檔還包括交易策略、控制面板、自定義視效和文件訪(fǎng)問(wèn)等的標(biāo)準(zhǔn)庫(kù)類(lèi)定義。

此外,MQL5擁有超過(guò)1,500個(gè)用于新應(yīng)用開(kāi)發(fā)的源代碼庫(kù)。 您可以使用包含大量數(shù)值分析函數(shù)的ALGLIB庫(kù)。同樣,還有用于處理時(shí)間序列的TimeSeries庫(kù)和用于開(kāi)發(fā)模糊模型的Fuzzy庫(kù)以及其他各種庫(kù)。

MQL5是一種功能強(qiáng)大的編程語(yǔ)言,可以幫助您構(gòu)建實(shí)時(shí)系統(tǒng),提供可視化的決策幫助。MQL5 支持枚舉、結(jié)構(gòu)、類(lèi)和事件。通過(guò)增加主嵌入式函數(shù)的數(shù)量,MQL5程序可以與DLL進(jìn)行通信。

MQL5具有與C++類(lèi)似的語(yǔ)法,可以很容易地把用不同的編程語(yǔ)言編寫(xiě)的程序轉(zhuǎn)換成MQL5程序。因此,在使用數(shù)據(jù)分析、人工智能或金融工具作為交易機(jī)器人時(shí),您可以獲得與C++相同的效率。

MQL5的主要特點(diǎn)

MQL5的一些核心功能可實(shí)現(xiàn)高效的數(shù)據(jù)科學(xué)計(jì)算:

  • MQL5是以C++為基礎(chǔ)的。因此,其速度與C++相當(dāng),且超過(guò)Python;
  • 專(zhuān)為金融市場(chǎng)的工具和分析而創(chuàng)建;
  • 完全事件驅(qū)動(dòng);
  • 1500多個(gè)源代碼庫(kù);
  • 可預(yù)定義標(biāo)準(zhǔn)常量和枚舉。服務(wù)架構(gòu)存儲(chǔ)信息;
  • 更改配色方案、創(chuàng)建控制面板、添加自定義交易品種以及從MQL5程序?qū)С鰞r(jià)格圖表;
  • 12種新的繪圖樣式,512個(gè)緩沖區(qū),以及從過(guò)去到未來(lái)的直接索引值計(jì)算;
  • 在圖表和多幣種測(cè)試器中調(diào)試外匯智能交易系統(tǒng)(Expert Advisor)

4.您應(yīng)該選擇哪種Python ML替代方案?  

編程語(yǔ)言好比駕駛賽車(chē),一部合適的汽車(chē)是必不可少的,司機(jī)就更不用說(shuō)了。同樣,作為一名數(shù)據(jù)科學(xué)家,您正是這些獨(dú)特跑車(chē)的駕駛員。

每位數(shù)據(jù)科學(xué)家或開(kāi)發(fā)人員對(duì)特定技術(shù)都有自己的要求和規(guī)范。最佳的技術(shù)選擇取決于您需要的視角和功能。因此,很難做出最終選擇。

如果您希望實(shí)現(xiàn)多進(jìn)程的運(yùn)算,而且要求非常高的運(yùn)算速度,則可以選擇Julia。 它是三者中最快的。另一方面,如果您正在做大型項(xiàng)目,Scala應(yīng)該是更好的選擇,因?yàn)樗軌騽偃巍H绻鷮?duì)金融工具感興趣,MQL5則是最佳選擇。

同樣,每一種程序設(shè)計(jì)語(yǔ)言都有自己特點(diǎn)和擅長(zhǎng)領(lǐng)域。因此,選擇滿(mǎn)足您的要求和規(guī)范的語(yǔ)言才是最好的做法。

5.總結(jié)  

機(jī)器學(xué)習(xí)是一個(gè)持續(xù)的、不斷進(jìn)化的過(guò)程。隨著時(shí)間的推移,它與標(biāo)準(zhǔn)化ML (SML) 語(yǔ)言一起出現(xiàn),并在Python中流行起來(lái)。如今,具有不同需求的機(jī)器學(xué)習(xí)語(yǔ)言呈現(xiàn)多樣化的發(fā)展。

簡(jiǎn)而言之,Python是一種非常出色的機(jī)器學(xué)習(xí)語(yǔ)言。但Python并不是一種數(shù)據(jù)科學(xué)專(zhuān)用語(yǔ)言,并且有一些更加現(xiàn)代的編程語(yǔ)言可以比它更有效地執(zhí)行特定任務(wù)。

因此,新興的編程語(yǔ)言正在機(jī)器學(xué)習(xí)領(lǐng)域中獲得了市場(chǎng)份額并不斷增長(zhǎng)。希望在未來(lái)幾年內(nèi),它們也能夠普及流行起來(lái)。

原文鏈接:https://hackernoon.com/not-only-python-problems-errors-and-alternatives

譯者介紹

劉濤,51CTO社區(qū)編輯,某大型央企系統(tǒng)上線(xiàn)檢測(cè)管控負(fù)責(zé)人,主要職責(zé)為嚴(yán)格審核系統(tǒng)上線(xiàn)驗(yàn)收所做的漏掃、滲透測(cè)試以及基線(xiàn)檢查等多項(xiàng)檢測(cè)工作,擁有多年網(wǎng)絡(luò)安全管理經(jīng)驗(yàn),多年P(guān)HP及Web開(kāi)發(fā)和防御經(jīng)驗(yàn),Linux使用及管理經(jīng)驗(yàn),擁有豐富的代碼審計(jì)、網(wǎng)絡(luò)安全測(cè)試和威脅挖掘經(jīng)驗(yàn)。精通Kali下SQL審計(jì)、SQLMAP自動(dòng)化探測(cè)、XSS審計(jì)、Metasploit審計(jì)、CSRF審計(jì)、webshell審計(jì)、maltego審計(jì)等技術(shù)。

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2011-12-02 09:53:34

2023-01-18 10:44:15

RedpandaKafkaAPI

2009-05-26 10:40:17

九城魔獸王者世界

2009-08-21 09:34:59

XML-PRCEasyrest

2015-07-16 15:30:34

分布式計(jì)算PS云計(jì)算

2010-05-19 08:28:57

Traffic SerApache

2014-10-22 14:04:50

傲游瀏覽器

2016-01-04 11:12:56

LiFiWi-Fi

2009-05-14 09:20:41

關(guān)系數(shù)據(jù)庫(kù)對(duì)象關(guān)系映射Terracotta

2019-04-04 14:33:19

云計(jì)算云端企業(yè)

2015-12-01 16:02:19

WiFiLiFi

2009-12-29 17:40:33

2010-05-11 10:03:55

ApacheLighttpdNginx

2009-03-27 18:01:00

LinuxNovell SLEDWindows

2014-05-23 18:05:19

2009-05-04 18:19:43

編程語(yǔ)言排行榜D語(yǔ)言

2015-11-26 15:04:09

5G中國(guó)移動(dòng)

2014-07-26 15:22:31

趙修湘關(guān)系型數(shù)據(jù)庫(kù)Hive數(shù)據(jù)倉(cāng)庫(kù)

2018-01-02 05:08:43

互聯(lián)網(wǎng)人工智能5G

2011-01-12 11:07:54

微軟服務(wù)器
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 一区二区三区视频在线免费观看 | 日本免费黄色 | 免费成人在线网 | 久久久精品影院 | 免费看a | 国产ts人妖一区二区三区 | h片免费看 | 亚洲精品乱码 | 日韩精品免费视频 | 国产精品一区二区三区久久久 | 亚洲精品一区二区三区四区高清 | 91精品国产91久久久久久吃药 | 日韩精品免费视频 | 欧美成人一区二区 | 日韩精品在线网站 | 中文字幕第三页 | 最新国产精品 | 欧美日本在线观看 | 国产精品久久一区 | 亚洲欧洲日本国产 | 91精产国品一二三区 | 国产一区二区三区精品久久久 | 久久一区二区视频 | 美女一级毛片 | 国产亚洲一区二区三区 | 毛片免费看 | 18av在线播放 | 亚洲美女天堂网 | 成人精品毛片国产亚洲av十九禁 | 亚洲系列第一页 | 日本在线一二 | 日韩av网址在线观看 | 中文字幕亚洲欧美 | 久久久综合久久 | 欧美一区二区成人 | 国产91在线 | 欧美 | 一区二区视频在线 | 日韩在线免费播放 | 国产一区二区三区视频在线观看 | 伊人色综合久久久天天蜜桃 | 91精品欧美久久久久久久 |