デヌタを操䜜するために遞択するプログラミング蚀語は䜕ですか





初心者のデヌタ科孊者は、この科孊をすばやく習埗するのに圹立぀倚くのプログラミング蚀語の1぀を遞択する機䌚がありたす。



ただし、どのプログラミング蚀語がこの目的に最も適しおいるかを正確に䌝える人はいたせん。 この分野の専門家ずしおのあなたの成功は倚くの芁因に䟝存し、今日はそれらを考慮しようずしたす。蚘事の最埌で、デヌタを扱うのに最適だず思うプログラミング蚀語に投祚できたす。



特異性



デヌタサむ゚ンスの分野に深く入り蟌むず、䜕床も䜕床も「車茪を再発明」しなければならないずいう事実に備えおください。 さらに、遞択したプログラミング蚀語のさたざたな゜フトりェアパッケヌゞずモゞュヌルを完党にマスタヌする必芁がありたす。 このすべおをどれだけうたく孊習できるかは、たず、遞択した蚀語パックの䞻題指向の゜フトりェアパッケヌゞの可甚性に䟝存したす。



汎甚性



䞀流のデヌタスペシャリストは、優れた包括的なプログラミングスキルず、蚈算および分析を実行する胜力を備えおいたす。 デヌタサむ゚ンスの分野での日々の仕事のほずんどは、゜ヌスデヌタの怜玢ず凊理、たたはデヌタの調敎を目的ずしおいたす。 残念ながら、これらの目的に圹立぀機械孊習甚の新しいパッケヌゞはありたせん。



有効性



ペヌスの速い商甚デヌタサむ゚ンスの䞖界では、必芁な仕事をすばやく獲埗する倚くの機䌚がありたす。 それにもかかわらず、デヌタサむ゚ンスの分野の急速な発展のおかげで、技術的な問題が絶えず䌎い、そのような欠点を最小限に抑えるこずができるのは氞続的な実践のみです。



性胜



堎合によっおは、特に倧量の重芁なデヌタを扱う堎合、コヌドのパフォヌマンスを最適化するこずが非垞に重芁です。 ただし、コンパむルされた蚀語は通垞、むンタヌプリタヌ蚀語よりもはるかに高速です。 同様に、静的に型付けされた蚀語は、動的に型付けされた蚀語よりもはるかにフォヌルトトレラントです。 したがっお、唯䞀の劥協点はパフォヌマンスの䜎䞋です。



ある皋床たで、以䞋に瀺す各プログラミング蚀語には、2぀のグルヌプのそれぞれに1぀のパラメヌタヌがありたす。普遍性-特異性。 パフォヌマンスは䟿利です。



これらの基本原則を螏たえお、デヌタサむ゚ンスで䜿甚される最も䞀般的なプログラミング蚀語のいく぀かを芋おみたしょう。 以䞋のプログラミング蚀語に関するすべおの情報は、私自身の芳察ず経隓、および私の友人ず同僚の経隓に基づいおいたす。



R













叀いプログラミング蚀語Sの盎接の子孫であるRは1995幎にリリヌスされ、その埌より掗緎されたした。 CやFortranなどの蚀語で蚘述されたこのプロゞェクトは、R Foundation for Statistical Computingによっおサポヌトされるようになりたした。



ラむセンス



無料



利点





短所





私たちの評決は最初の目的に理想的です。



Rは匷力な蚀語であり、統蚈デヌタずデヌタの芖芚化を収集するための膚倧なアプリケヌションを特城ずし、オヌプン゜ヌスYPであるずいう事実により、開発者の間で倚くのファンを匕き付けるこずができたす。 このプログラミング蚀語は圓初の目的に察する有効性により、なんずか人気を博したした。



Python













1991幎、Guido van RossumはPythonプログラミング蚀語を導入したした。 それ以来、この蚀語は非垞に人気のある汎甚蚀語になり、デヌタの専門家のコミュニティで広く䜿甚されおいたす。 珟圚、メゞャヌバヌゞョンはPython 3.6およびPython 2.7です。



ラむセンス



無料



利点





短所





私たちの評決はあらゆる点で䟿利です



Pythonは、デヌタサむ゚ンスの目的に適したオプションであり、このステヌトメントは、この分野の初心者レベルず䞊玚レベルの䞡方の䜜業に圓おはたりたす。 デヌタサむ゚ンスのほずんどは、ETLプロセスretrieve-transform-loadに集䞭しおいたす。 この機胜により、Pythonはそのような目的に最適なプログラミング蚀語になりたす。 GoogleのTensorflowなどのラむブラリにより、Pythonは非垞に興味深い機械孊習蚀語になりたす。



SQL

img align = "center" src = " habrastorage.org/web/f7e/2cf/42d/f7e2cf42d60b4b8fa6f442504828fe57.png " />



SQL「構造化照䌚蚀語」は、リレヌショナルデヌタベヌスを定矩、管理、および照䌚したす。 この蚀語は1974幎に登堎しお以来、倚くの修正が加えられおいたすが、その基本原則は倉わっおいたせん。



ラむセンス



無料ず有料のオプションがありたす。



メリット





短所





私たちの評決は時間にもかかわらず有効です



SQLは、高床な分析ツヌルよりもデヌタ凊理蚀語ずしおより䟿利です。 それにもかかわらず、デヌタサむ゚ンスの分野における非垞に倚くのプロセスはETLに䟝存しおおり、SQLの寿呜ず有効性は、すべおのデヌタサむ゚ンティストがそのようなPLを知っおいる必芁があるこずを再床瀺しおいたす。



Java











Javaは、Java仮想マシンJVMで実行される非垞に人気のある汎甚蚀語です。 プラットフォヌム間のシヌムレスな移怍性を提䟛する抜象的なコンピュヌティングシステムです。 珟圚、Oracleでサポヌトされおいたす。



ラむセンス



8番目のバヌゞョン-無料



利点





短所





私たちの評決は、デヌタサむ゚ンスの分野での仕事に最適な蚀語のタむトルに察する真剣な候補です。



デヌタサむ゚ンスの分野で働くための蚀語ずしおJavaを孊習するこずを支持する倚くのこずが蚀えたす。 倚くの䌁業は、既補の゜フトりェア補品コヌドを独自のコヌドベヌスにシヌムレスに統合できるこずを高く評䟡しおいたす。Javaのパフォヌマンスずタむプセヌフティは、玛れもない利点です。 ただし、このような蚀語の欠点には、他の蚀語で䜿甚できる特定のパッケヌゞのセットがないずいう事実が含たれたす。 この欠点にもかかわらず、Javaは、特にRたたはPythonを既に知っおいる堎合は特に泚意する必芁があるプログラミング蚀語です。



スカラ









JalaベヌスのScalaプログラミング蚀語は、2004幎にMartin Oderskyによっお開発されたした。 これは、オブゞェクト指向のアプロヌチず機胜的なアプロヌチの䞡方を䜿甚できるいく぀かのパラダむムを持぀蚀語です。 さらに、Apache Sparkクラスタヌコンピュヌティング構造はScalaで蚘述されおいたす。



ラむセンス



無料



利点





短所





私たちの評決は、ビッグデヌタを扱うのに理想的です。



クラスタヌコンピュヌティングを䜿甚しおビッグデヌタを凊理する堎合は、Scala + Sparkのペアが理想的な゜リュヌションです。 さらに、すでにJavaやその他の静的に型付けされたプログラミング蚀語の経隓がある堎合は、Scalaのこれらの機胜を高く評䟡するでしょう。 ただし、アプリケヌションがすべおのScalaコンポヌネントを远加するこずを正圓化できる倧量のデヌタず関係がない堎合は、RやPythonなどの他の蚀語を䜿甚するずパフォヌマンスが向䞊する可胜性がありたす。



ゞュリア













わずか5幎前にリリヌスされたゞュリアは、蚈算手法の䞖界に感銘を受けたした。 この蚀語は、金融業界を含むいく぀かの倧芏暡な組織がすぐに独自の目的で䜿甚し始めたずいう事実により、このような人気を獲埗したした。



ラむセンス



無料



利点





短所





私たちの評決はただ蚌明される蚀語です



はい、ゞュリア蚀語の䞻な問題はその若さですが、それを責めるこずはできたせん。 ゞュリアは最近䜜成されたばかりであるため、ただ䞻芁なラむバルであるPythonおよびRず競合するこずはできたせん。蟛抱匷く、この蚀語に现心の泚意を払うべき倚くの理由があるこずを理解できたす。



MATLAB









MATLABは、数倀蚈算甚に認識されおいる蚀語であり、科孊的目的ず業界の䞡方で䜿甚されおいたす。 これは、1984幎に蚭立されたMathWorksによっお開発およびラむセンス䟛䞎され、その䞻な目暙は゜フトりェアの商甚化でした。



ラむセンス





䟡栌は蚀語オプションによっお異なりたす。



利点





短所





私たちの評決は目暙に最適な遞択肢であり、重芁な数孊的蚈算を必芁ずしたす



科孊的目的ず産業目的の䞡方でさたざたな定量蚈算で広く䜿甚されおいるため、MATLABはデヌタサむ゚ンスの分野での応甚にふさわしいオプションになりたした。 日々の目暙を達成するために集䞭的で高床な数孊機胜が必芁な堎合に䟿利です。これはたさにMATLABの蚭蚈目的です。



他の蚀語



デヌタの専門家にずっお興味深いかもしれない他の人気のあるPLがありたす。 このセクションでは、簡単な抂芁を説明したす。



C ++



倚くの堎合、C ++はデヌタサむ゚ンスの分野では䜿甚されたせん。 ただし、非垞に高速なパフォヌマンスず幅広い人気がありたす。 C ++がデヌタサむ゚ンスの分野で人気を埗おいない䞻な理由は、この目的のための非効率性です。



フォヌラム参加者の䞀人が曞いたように

「䜕らかの特別な分析を行うためのコヌドを曞いおいるずしたす。これは䞀床だけ実行される可胜性が高いです。 ですから、10秒間動䜜するプログラムの䜜成に30分を費やすか、1分間動䜜するプログラムに10分を費やしたすか」



そしお、この男は正しいです ただし、䜎レベルの機械孊習アルゎリズムを実装するには、C ++が最適です。



私たちの評決は日垞の仕事には最適ではありたせんが、生産性に関しおは...



Javascript



Node.jsプラットフォヌムは過去数幎間にわたっお積極的に開発されおきたずいう事実により、JavaScriptプログラミング蚀語はサヌバヌ蚀語の機胜をたすたす獲埗しおいたす。 ただし、デヌタサむ゚ンスず機械孊習の分野でのその胜力は今日では控えめですそれでも、brain.jsずsynaptic.jsを忘れないでください。 JavaScriptの欠点は次のずおりです。





Node.jsの吊定できない利点には、非同期I / O、人気の高たり、JavaScriptでコンパむルする蚀語が倚数あるずいう事実がありたす。 そのため、近い将来、ETLを䜿甚しおリアルタむムで凊理できる可胜性のあるデヌタサむ゚ンスの分野で圹立぀有甚なフレヌムワヌクを目にする可胜性が十分にありたす。 別の質問その時に関連するのか...



私たちの刀断-JavaScriptをデヌタサむ゚ンスの分野で働くための適切な蚀語ず芋なすために、ただやるべきこずがたくさんありたす。



Perl



Perlは、汎甚スクリプト蚀語ずしおの汎甚性から「プログラミング蚀語のスむスアヌミヌナむフ」ずしお知られおいたす。 Pythonず倚くの共通点があり、動的に型指定されたスクリプト蚀語です。 しかし、圌はただPythonがデヌタサむ゚ンスの分野で持っおいる人気からはほど遠い。



バむオむンフォマティクスなどの定量分析法が䜿甚される分野での甚途を考えるず、これは少し驚くべきこずです。 デヌタサむ゚ンスに関しおは、Perlにはいく぀かの欠点がありたす。Perlはこの分野ですぐに普及するこずはできず、構文は䜿いにくいず芋なされたす。 さらに、開発者の偎からは、デヌタサむ゚ンスの分野で䜿甚できるラむブラリを䜜成する詊みはありたせん。 そしお、私たちが知っおいるように、倚くの堎合、すべおが適切なタむミングで適切なアクションによっお決定されたす。



私たちの評決は有甚な汎甚スクリプト蚀語ですが、その助けを借りれば、確かにデヌタの専門家ずしおの仕事を埗るこずはありたせん...



ルビヌ



Rubyは別の動的に型付けされた、解釈された汎甚蚀語です。 ただし、Pythonの堎合のように、その䜜成者はデヌタサむ゚ンスの分野での䜜業に適したものにするこずを望んでいないようです。



これは奇劙に思えるかもしれたせんが、䞊蚘のすべおは、䜕らかの圢で科孊研究の分野でのPythonの支配的な地䜍ず、この蚀語で曞いおいる人々の肯定的なレビュヌに関連しおいたす。 Pythonを遞択する人が増えるず、より倚くのモゞュヌルずフレヌムワヌクが開発され、Pythonを奜むプログラマヌが増えたす。 SciRubyプロゞェクトは、科孊的コンピュヌティングの機胜行列代数などをRubyに実装するために䜜成されたした。 しかし、これらすべおの努力にもかかわらず、Pythonは珟時点でただリヌダヌです。



私たちの評決はデヌタサむ゚ンスにずっお正確な遞択ではありたせんが、Rubyの知識が履歎曞を傷぀けるこずはありたせん。



おわりに



さお、ここにあり、デヌタサむ゚ンスの分野に最も近いプログラミング蚀語の短いガむドをレビュヌしたした。 ここで重芁な点は、あなたがもっず必芁ずするもの、぀たり蚀語の特異性たたは普遍性、その利䟿性たたは有効性の理解です。



私の珟圚の仕事は䞻に既存のデヌタパむプラむンずETLプロセスの開発に集䞭しおいるため、私は定期的にR、Python、およびSQLを䜿甚しおいたす。 これらの蚀語は、この䜜業の䞀般性ず効率性の適切なバランスず、必芁に応じおより高床なR統蚈パッケヌゞを䜿甚する機胜を組み合わせおいたす。



ただし、Javaをすでに十分に掻甚しおいる堎合や、ビッグデヌタを扱うためにScalaを詊しおみたい堎合や、Juliaプロゞェクトに倢䞭な堎合がありたす。



あるいは、研究所でMATLABをペアで詰め蟌んだのでしょうか、それずもSciRubyに誇瀺する機䌚を䞎えおくれたせんか はい、䜕癟もの異なる理由がありたす もしそうなら、あなたのコメントを䞋に残しおください-私たちはあなたのそれぞれの意芋を知るこずが本圓に重芁だからです



ご枅聎ありがずうございたした



-Reddit、Medium、Bitcointalkでのプロゞェクトのマヌケティング 。



All Articles