機械学習にはどのプログラミング言語を選択すればよいでしょうか?

機械学習にはどのプログラミング言語を選択すればよいでしょうか?

機械学習やデータサイエンスの分野で仕事を得るために、開発者はどのプログラミング言語を学ぶべきでしょうか? これは非常に重要な質問です。私たちは多くのフォーラムでこれについて議論してきました。さて、私は自分自身の答えを出して、その理由を説明することもできますが、まずはいくつかのデータを見てみましょう。結局のところ、機械学習者やデータサイエンティストがやるべきことは、意見ではなくデータを見ることです。

いくつかのデータを見てみましょう。 Indeed.com のトレンド検索を使用します。時間に基づいて実際の求人情報から特定の用語を検索できます。これは、雇用主がこのスキルセットを持つ人材を求めていることを示しています。ただし、これはスキルの有効活用に関するアンケートではありませんので、ご注意ください。この指標はスキルの人気をよりよく反映します。

では、早速データをご紹介します。 「機械学習」や「データサイエンス」に付随するスキルを検索したところ、検索オプションにJava、C、C++、JavaScriptというプログラミング言語が含まれていました。次に、機械学習とデータサイエンスで人気があることがわかっている Python と R、そしてもちろん Spark との関係を考えると Scala、そして一部の開発者が「次の大物」だと考えている Julia があります。このクエリを実行すると、次のデータが得られます。

機械学習を見ると、同様のデータが得られます。

このデータから何を学ぶことができるでしょうか?

まず、一つのサイズがすべての人に当てはまるわけではないことがわかります。このような状況の中で、さまざまな機械学習プログラミング言語が人気を集めています。

第二に、これらのプログラミング言語はすべて劇的に成長しており、これは過去数年間の機械学習とデータサイエンスに対する企業の関心と需要の急速な増加を反映しています。

3番目に、Pythonが明らかにリーダーであり、Java、R、C++がそれに続きます。 Python の Java に対するリードは拡大していますが、Java の R に対するリードは縮小しています。正直に言うと、Java が 2 位にランクインしたことには驚きました。R がランクインすると予想していました。

4番目に、Scala の成長は目覚ましいものでした。 3 年前にはほとんど存在しなかったのですが、今ではこれらの成熟したプログラミング言語とほぼ同じレベルになっています。 Indeed.com のデータの相対的な表示に切り替えると、これが簡単にわかります。

5番目に、ジュリアの人気は明らかではありませんが、確実に上昇しています。 Julia は機械学習やデータサイエンスで人気のプログラミング言語になるでしょうか? 将来が教えてくれるでしょう。

Scala と Julia を無視して他のプログラミング言語の成長に焦点を当てると、Python と R が汎用言語よりも急速に成長していることは疑いの余地なく確認できます。

成長率の違いを考えると、R の人気はすぐに Java を上回るかもしれません。

ディープラーニングの問題に焦点を当てると、データはまったく異なります。

現時点では、Python はまだ 1 位ですが、C++ が 2 位、Java がそれに続き、C は 4 位、R は 5 位に過ぎません。ここでは、高性能コンピューティング言語に重点が置かれています。 Javaは急速に進化しています。機械学習全般の場合と同様に、かなり早く 2 位に到達する可能性があります。 R はすぐにトップに近づくことはないでしょう。主要なディープラーニングフレームワーク (Orch) で使用されているにもかかわらず、Lua が存在しないのに、Julia が存在しないことには驚きました。

この時点で、どの言語が最適なプログラミング言語なのでしょうか? 答えは明らかです。機械学習やデータサイエンスの仕事に関しては、Python、Java、R が最も求められているスキルです。一般的な機械学習ではなくディープラーニングに重点を置きたい場合は、C++ と C もある程度検討する価値があります。ただし、これは問題を見る一つの方法にすぎないことを忘れないでください。仕事を探している場合と、単に空き時間に機械学習やデータサイエンスを学びたい場合とでは、答えが異なる場合があります。

私の個人的な答えは?多くの一般的な機械学習フレームワークからサポートされていることに加え、私はコンピューターサイエンスのバックグラウンドを持っているので、Python は私にぴったりです。私はこれまでのキャリアのほとんどをこの言語でプログラミングしてきたので、新しいアルゴリズムを開発することにも抵抗はありません。しかし、それは私だけの話であり、異なる背景を持つ人々は別の言語の方が心地よいと感じるかもしれません。プログラミングスキルが限られている統計学者は間違いなく R を好むでしょう。オープンソースの Java API が多数存在するため、優秀な Java 開発者は自分の好きな言語を使用できます。これらのチャートにあるどの言語についても、同様の例を挙げることができます。

したがって、私のアドバイスは、言語の学習に多くの時間を費やす前に、自分の状況に基づいてどのプログラミング言語を選択するかを決定し、トレンドに従わないようにすることです。

<<:  AI、ブロックチェーン、ロボット:テクノロジーは仕事の未来をどのように変えるのでしょうか?

>>:  ディープラーニングの専門家になるにはどうすればいいですか?このアリ天池大会の優勝者はあなたのためにプロとしての成長の道を計画しました

ブログ    
ブログ    

推薦する

人工知能を通じて「自分を知る」

2016年、AlphaGoが人間のチェスプレイヤーであるイ・セドルを破り、人工知能に関する研究と考...

C# データ構造のソートアルゴリズム

C# データ構造ソート アルゴリズム (バブル ソートを含む) では、Lao Zhao の Code...

暗号化アルゴリズムの将来と現状の簡単な分析

[[357912]]現在最も一般的に使用されている暗号化アルゴリズムは、一方向暗号化と双方向暗号化に...

MITはAIを活用して3Dプリント用の新素材の発見を加速

[[430184]]さまざまなアイテムの製造における 3D プリントの人気が高まるにつれ、特定の用途...

...

機械学習をマスターするのに役立つ13のフレームワーク

人工知能の重要な分野として、機械学習はますます利用されています。この技術をより早く習得するにはどうす...

実用的なヒント | 人工知能に変身するために習得すべき 8 つのニューラル ネットワーク

なぜ機械学習が必要なのでしょうか?機械学習は、人間が直接プログラムできない複雑な問題を解決できるため...

AIビッグモデルオープンソースヒーロー!ザッカーバーグ氏はLLaMAリークについて議会から質問を受けた。「慣れている」

ザッカーバーグ氏は最近また大きなトラブルに巻き込まれた。リチャード・ブルーメンソール議員(プライバシ...

周志華:「データ、アルゴリズム、計算力」は人工知能の3つの要素であり、今後は「知識」が加わる必要があります。

CCF-GAIR 2020人工知能フロンティア特別セッションでは、南京大学コンピュータサイエンス学...

MapReduceアルゴリズムをわかりやすく説明する方法

Hackbright でメンターをしているときに、技術的な背景が限られている学生に MapReduc...

インタビュアー: 「最後にアルゴリズムを書いてください。単一のリンクリストを使用して加算を実行してみましょう...」

[[286163]]質問: 空でない 2 つのリンク リストが与えられた場合、2 つの負でない整数...

最初にサンプルが多すぎますか? 5つのサンプリングアルゴリズムを数分で実行できます

データサイエンスはアルゴリズムの研究です。この記事では、データを処理するための一般的なサンプリング手...

中国の創作力はGPT-4を超える、「最高の文章力」を持つ中国のビッグモデルWeaverが登場

ChatGPT などの一般的な大規模モデルは数百の機能をサポートしていますが、一般的な日常的なユーザ...

MySQL: データ構造とアルゴリズムの原則

[[190898]]この記事では、MySQL データベースを研究対象として取り上げ、データベース イ...

フロスト&サリバンは、倉庫管理用の自律配送ロボットの市場が2025年までに272億ドルに達すると予測している。

コロナウイルスのパンデミックが業界に与える影響の程度は地域や業種によって異なると報告書は述べている合...