Rを教えられた1年間のデータサイエンス修士課程を終えたばかりです。Pythonの方が人気があり、AIでより大きなコミュニティを持っていることがわかりました。
私の立場の誰かがPythonに切り替える価値はありますか?もしそうなら、なぜですか?pythonにはRで利用できないゲームを変える機能がありますか、それともコミュニティの問題ですか?
Rを教えられた1年間のデータサイエンス修士課程を終えたばかりです。Pythonの方が人気があり、AIでより大きなコミュニティを持っていることがわかりました。
私の立場の誰かがPythonに切り替える価値はありますか?もしそうなら、なぜですか?pythonにはRで利用できないゲームを変える機能がありますか、それともコミュニティの問題ですか?
回答:
あなたの質問を再構成したいと思います。
切り替えについて考えるのではなく、追加することを考えてください。
データサイエンスでは、pythonまたはrを使用して非常に遠くまで移動できますが、両方を使用して最も遠くまで移動できます。
reticulate
パッケージのおかげで、Pythonとrは非常によく統合されます。簡単にrのデータを整理することがよくあります。Pythonでモデルをトレーニングして、優れた速度を活用し、rの結果ggplot
を1つのノートブックにすべて美しく表示するためです。
rを既に知っている場合、それを放棄する意味がない場合は、賢明で使いやすい場所で使用してください。しかし、多くの用途にPythonを追加することは100%良い考えです。
両方に慣れると、お気に入りの言語に最も支配されたワークフローになります。
reticulate
。rstudioはpythonの検査もサポートしており、追加中です
reticulate
RがPythonを使用できるようにします。同様に、rpy2
PythonがRを使用できるようにします。同様の目的を持つプログラミング言語では、互いに対話する方法が一般的です。
もちろん、このタイプの質問は、主に意見に基づく回答にもつながります。それにもかかわらず、機械学習、統計、およびデータ分析タスクに関して、各言語の長所と短所を列挙することは可能です。以下にリストします。
Rは統計学者およびデータアナリスト向けに設計および開発されたため、すぐに使用できる(つまり、言語自体の一部である)、統計学者向けの機能と機能を提供します。関連パッケージをインストールします。たとえば、有名なPythonのpandas
パッケージをインストールしない限り、Pythonが提供しないデータフレーム。行列、ベクトルなどのような他の例もあります。Pythonにも同様のデータ構造がありますが、より一般的であるため、統計学者向けではありません。
統計ライブラリはたくさんあります。
GoogleやFacebookを含む多くの人々や企業は、Pythonに多くの投資をしています。たとえば、TensorFlowとPyTorch(2つの広く使用されている機械学習フレームワーク)の主要なプログラミング言語はPythonです。したがって、Pythonが少なくとも5〜10年は機械学習で広く使用され続けることはほとんどありません。
Pythonコミュニティは、Rコミュニティよりもはるかに大きい可能性があります。実際、たとえば、Tiobeのインデックスを見ると、Pythonは3番目に配置され、Rは20番目に配置されています。
Pythonは、統計や機械学習コミュニティ以外でも広く使用されています。たとえば、Web開発に使用されます(PythonフレームワークDjangoまたはFlaskを参照)。
多くの機械学習ライブラリ(TensorFlowやPyTorchなど)があります。
これらの言語には、他にも長所と短所があります。たとえば、両方の言語は動的です。ただし、この機能は長所と短所の両方になり得ます(また、機械学習や統計に厳密に関連しているわけではありません)。したがって、上記には記載しませんでした。明らかな理由のために、コードの読みやすさや学習曲線などの意見を述べる言語機能について言及することは避けました(たとえば、すべての人が同じプログラミング経験を持っているわけではありません)。
機械学習や統計を勉強しているなら、Pythonは間違いなく学ぶ価値があります。ただし、Rを使用しないという意味ではありません。Rは、特定のタスクに対して依然として便利です。
RからPythonへの移行を余儀なくされたため、この選択はありませんでした。
それはあなたの環境に依存します:エンジニア部門に組み込まれている場合、ワーキングテクニカルグループまたはPythonに似た何かが実行可能です。
科学者、特に統計学者に囲まれている場合は、Rのままにしてください。
PS:Rはpythonの内部で実装されていますが、kerasとtensorflowも提供しています。Pythonが必要になるのは非常に高度なものだけです。Pythonに慣れてきましたが、Rのsynthax は簡単です。また、各パッケージには独自のものがありますが、Pythonにはないものの、何らかの一貫性があります。そしてggplotは非常に強力です。Pythonにはクローン(プロトニン)がありますが、いくつかの(重要な)機能がありません。原則として、Rとほぼ同じことを行うことができますが、特にRでは視覚化とデータラングリングがはるかに簡単です。したがって、最も有名なPythonライブラリであるpandas はRのクローンです。
PSS:高度な統計は間違いなくRを対象としています。Pythonはデータサイエンティスト向けの日常的なツールとメソッドを多数提供していますが、Rが提供する13,000を超えるパッケージには到達しません。たとえば、逆回帰を行う必要がありましたが、Pythonはこれを提供していません。Rでは、いくつかの信頼性テストと、線形か非線形かを選択できます。混合モデルについても同じことが言えます。Pythonで実装されていますが、非常に基本的であるため、これがどのように誰かに十分なのか理解できません。
はいと言うでしょう。PythonはほとんどのタスクでRよりも優れていますが、Rにはニッチがあり、多くの状況でそれを使用したいと思うでしょう。
さらに、第2言語を学習すると、プログラミングスキルが向上します。
R対Pythonの長所についての私自身の見方は、テーブルやチャートを含む小さな単一の目的のプログラム、または同じ方法での探索作業にはRを好むということです。私は他のすべてのためにPythonを好むでしょう。
最後の点について詳しく説明すると、コンピュータプログラミングがうまくできているのは、独自のブリック(関数とモジュール)を作成するレゴです。
プログラムは通常、元の設計を超えて変更および再利用されます。それらを構築するとき、どの部品が再利用される可能性があるかを考え、それらの部品を他のブリックにプラグインできる一般的な方法で構築すると便利です。
Rは、すべてのレンガを一緒に溶かすことをお勧めします。
他の人が言ったように、それは「スイッチ」ではありません。しかし、Pythonを武器に追加する価値はありますか?確かに言うでしょう。データサイエンスでは、Pythonは人気があり、ますます人気が高まっていますが、Rはやや後退しています。そして、機械学習とニューラルネットワークの分野では、Pythonが現在の主要言語であると言えます。使用法の観点から、Rが実際にここに来るとは思いません。このすべての理由は一般性です。Pythonは一般的なプログラミング言語として意図されており、あらゆる種類のタスクを簡単にスクリプト化できます。きちんと構造化された統計の世界に厳密にとどまっている場合、Rは素晴らしいですが、AIを使用すると、斬新で雑多なことをしなければならなくなることが多く、RがPythonを打ち負かすことはできないと思います。このため、
これは完全に私の個人的な意見です。
私は自分のオフィス(建設現場)で「すべてのタスクに適したツールがある」と読みました。
プログラマーとして、さまざまな仕事に直面することを期待しています。「購入または投資」できる限り多くのツールが必要です。ある日はツールで解決でき、ある日は他のツールで解決できます。R(統計用)とPython(一般用)は、私にとって間違いなく必要な2つのツールであり、投資する価値があると思います。
スイッチに関する限り、私が知っている最も効率的なツールを使用します(効率はクライアントの要件、時間とコストの投資、コーディングの容易さによって測定されます)。私が知っているより多くのツール、陽気です!もちろん、それには実際的な制限があります。
これはすべて私の個人的な意見であり、必ずしも正しいとは限りません。
Rを使用してデータサイエンスに1年間投資し、R環境に組み込みましたが、データサイエンスのためにpythonを探索したいようです。
リストとタプルがどのように機能するか、クラスとオブジェクトがどのように機能するかなど、まずPythonの基本を学びます。
次に、numpy matplotlib pandasのようないくつかのライブラリで手を汚します。テンソルフローまたはケラスを学習してから、データサイエンスに進みます。
2匹のうさぎを追いかける人はどちらもつかまえない
そして、はい、Pythonはより一般的です。私は両方で働いていますが、ビジネス的には、RよりもPythonで仕事を見つけるのは簡単です。
だから、次のことができます:
または