目次

RとPython

RとPythonは、開発目的と利用目的が共に異なります。Rは “R is a free software environment for statistical computing and graphics.” だそうです。Pythonは “Python is a programming language that lets you work quickly and integrate systems more effectively.”だそうです。ほら、違うでしょう。Rが得意としてPythonが苦手なことは、プログラミング中にデータサイエンスに専念できることです。Pythonが得意としてRが苦手なことは、並列処理やハードウェアの利用、またサービスの提供などでしょうか。Pythonはプログラミング言語なので、データサイエンス以外により多くのことが可能です。

片方でしかできないことはあまり多くはありませんが、片方でやった方がよいことは多いです。どちらが良いか、という議論は不毛です。目的に合わせて、適切なプログラミング言語や環境を選択すれば良いのです。たとえば深層学習を試してみたいなら、Pythonを選択するのがよいでしょう。それでもTensorFlow、PyTorch、Kerasなど、どれを試すかを悩むことになります。TensorFlowやKerasはRからも呼び出せます。多くの機械学習の手法は、まずRからリリースされます。競争相手がRでリリースされているためかもしれません。深層学習とそれらを比較するには、PythonとRの双方を使う必要があります。scikit-learnの開発チームはよい仕事をしてくれていますが、手法の進化と普及は常に同じ速度では進みません。