ホームページ  >  記事  >  バックエンド開発  >  R言語とPythonの両方を学ぶ必要がありますか?

R言語とPythonの両方を学ぶ必要がありますか?

anonymity
anonymityオリジナル
2019-06-12 14:33:447005ブラウズ

R と Python は現在、最も人気のある 2 つの高水準プログラミング言語であり、データ サイエンスの分野で広く使用されています。どちらもオープンソースであり、それらをサポートする非常に活発なコミュニティがあります。ここで疑問が生じます: R 言語と Python の両方を学ぶ必要がありますか?

R言語とPythonの両方を学ぶ必要がありますか?

1995 年に Ross Ihaka と Robert Gentleman によって設計されました (R 言語と名付けられたのは、どちらの名前も文字「R」で始まります)、現在は「R コア開発チーム」によって開発されています。

R は主にデータ分析、グラフィックス、データ マイニングに使用されますが、行列計算にも使用する人もいます。その計算速度は、オープンソース ソフトウェアの GNU Octave や行列計算専用の商用ソフトウェア MATLAB に匹敵します。

当初、R は主に学術研究で使用されていましたが、近年では企業の世界でも有​​名になり、R は企業で使用される統計言語として世界で最も急速に成長している言語の 1 つとなっています。データ サイエンス タスクの場合、R の構文はより直感的で直観的です。

データ処理タスクの場合、R の構文は多くの場合より単純です。関数とパラメータの命名もより適切に設計されており、覚えやすく、使いやすくなっています。

たとえば、R と Python を使用して、Iris データ フレーム内の 2 つの変数を削除します (R と Python の両方に Iris データ フレームがあるため、このデータ フレームを使用します)。

それぞれの構文を見てみましょう:

Python

import seaborn as sns
import pandas as pd
iris = sns.load_dataset('iris')
iris.drop(['sepal_length', 'species'], axis = 1)

R

library(dplyr)
select(iris, -sepal_length, -species)

変数を削除するには、Python で Drop 関数を使用します。 、R では select 関数が使用されます。これら 2 つの関数の構文を比較してみましょう (どちらもコードの最後の行にあります)。

まず Python について話しましょう。drop 関数は適切な名前が付けられており、覚えやすいです。しかし、パラメータの設計は非常に複雑です。

最初のパラメータは、削除する変数を含むリストです。Python では、リストを表すために角括弧 [ ] が使用されます。ここでは角かっこを使用する必要があり、変数は引用符「 」で囲む必要があります。そうしないと、コードが正しく実行されません。

データの視覚化という点では、R は非常に優れています

視覚化はデータ分析ソフトウェアを選択するための重要な基準です。

データ分析に優れていることに加えて、R のもう 1 つの優れた点は、ほぼすべての種類のグラフを描画できる非常に強力な描画能力です。信じられない場合は、Google で「R ビジュアライゼーション」キーワードを入力してください。

Python の利点

データ サイエンスの初心者には、R を学ぶことを強くお勧めしますが、それが唯一の選択肢ではありません。

一部の人にとっては、Python が最良の選択かもしれません。 Python を選択する方が良い状況について話しましょう。

ソフトウェア開発またはコンピューター サイエンスの基礎がある場合は、Python を学習してください

ソフトウェア開発の経験がある場合、またはコンピューター サイエンスを専攻している場合は、Python の方が適していると思います。すでにプログラミングの経験があるため、Python の使用に慣れることができます。

ソフトウェアを開発したいなら、Python を学びましょう

R はデータ サイエンスに優れているとすでに述べました。ソフトウェアシステムを構築したい場合はPythonの方が適していると思います。 Python の優れている点は、非常に効率的なソフトウェアを作成できることです。一部の専門家が言うように、Python コードを書くことは疑似コードを書くことに似ています。

また、Pythonは汎用言語なので基本的には何でもできます。ただし、R はより専門的であり、統計分析と視覚化のみが得意です。

明確にしておきたいのですが、R がソフトウェアを作成できないわけではありません。製品ソフトウェアを構築するために Python を使用することを好む人が増えているだけです。したがって、データサイエンティストとしてソフトウェアシステムを作成したい場合は、RよりもPythonの方が適していると思います。

機械学習に携わりたいなら、Pythonを学ぼう

機械学習の研究に長く携わりたいなら、Pythonを学ぶことをお勧めします。

実際、R には機械学習エコシステムもあります。特に、R の caret パッケージはよく開発されており、さまざまな機械学習タスクを実行する機能を備えています。例: キャレット パッケージを使用して、回帰モデル、サポート ベクター マシン (SVM)、デシジョン ツリー (回帰と分類を含む) を構築し、相互検証を実行します。全体として、R の機械学習エコシステムは非常に順調に成長しています。

ただし、Python による機械学習のサポートは以前に登場しました。さまざまな機械学習手法を実装するために、Python の scikit-learn ライブラリは、より簡潔で読みやすい構文を提供します。 R のキャレット パッケージの構文は、少し扱いに​​くい場合があります。特に、caret パッケージは Tidyverse パッケージとの互換性があまり高くなく、出力結果の処理が難しい場合があります。対照的に、Python の scikit-learn ライブラリは Python エコシステムとうまく統合されています。

市販の機械学習に関する書籍のアルゴリズム実装の多くは Python で書かれています。

結論から言うと、機械学習に取り組むならPythonの方が良いと思います。

ディープ ラーニングに取り組みたい場合は、Python を学習してください

ディープ ラーニングは人工知能の分野で最も人気のあるテクノロジーの 1 つであり、Python は最も人気のあるテクノロジーです。深層学習で人気の言語です。

ほとんどの深層学習フレームワークには、TensorFlow、Keras、Pytorch、Theano、MXNET などの Python インターフェイスがあります。

Python はさまざまなフレームワークとの互換性が高く、多数の寄稿者、検索結果、関連書籍、学術論文があり、Github 上の深層学習プロジェクトのほとんどは Python で書かれています。ディープ ラーニングを初めて使用する場合は、Keras を使用するのが良い選択です。

それに比べて、R は深層学習フレームワークとの互換性の点であまり優れていません。したがって、ディープラーニングに重点を置きたい場合は、Python の方が適している可能性があります。

R または Python を学びますか? それは主にあなたの経歴と目標によって異なります。

プログラミングの経験がない場合は、まず R を学ぶことをお勧めします。データの視覚化を学びたい場合は、R の ggplot2 パッケージが最適なツールだと思います。データに特化したい場合は、分析とデータ マイニング、R パフォーマンスの向上。

機械学習の専門家になりたい場合は、Python の scikit-learn ライブラリを注意深く学習できますが、ソフトウェア システムを開発したい場合は、Python の方が適しています。

よく言われるように、スキルが多すぎても圧倒されることはありません。R と Python の両方を学ぶという 3 番目の選択肢があります。実際、トップのデータサイエンティストの多くは両方の言語を知っています。ただし、初心者の場合は、一度に 1 つのレッスンを学習してください。 2 つの科目を同時に学習すると混乱が生じ、学習サイクルが長くなり、半分の労力で 2 倍の結果が得られます。

以上がR言語とPythonの両方を学ぶ必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。