

中別府大地
Python と R どちらがお好きですか?
こんにちは、キカガクの中別府です。
普段は AI エンジニアとして、業務委託開発案件やコンサルティング事業を担当しています。
また、東北大学大学院医学系研究科非常勤講師として AI に関する学習コンテンツの提供、高知大学特任講師として、DX / AI に関する授業の作成・実施、AI 研究に関するゼミの運営を行っています。
本稿では、データサイエンティストを目指して学習を始めた方を対象として Python と R の使い分けを紹介します。
あくまで個人的な意見となる点にご留意いただき、今後の参考となれば幸いです。
目次
データサイエンティストに求められるスキルは「一般社団法人データサイエンティスト協会」が以下のように定義しています。

データサイエンティスト(特にデータサイエンス力)にはデータ分析、AI・機械学習モデリングのスキルが求められています。
Digital Transformation (DX) の推進が求められる現代において、データを活用する目的は次の 2 つに分けられると考えます。
上記 2 つを実現するために何が重要か
となります。
プログラミング言語 Python と R の使い分けとしては
をおすすめします。
Python の強み(R と比較して)
R の強み(Python と比較して)
2 つのケースで Python と R について紹介します。
機械学習ライブラリ scikit-learn に用意されている California Housing dataset データを使用します。(※データの詳細については割愛させていただきます。)
前述した「データ分析 / AI・機械学習 の目的」をもとに目的を設定すると
となります。
このケースは予測精度の高い機械学習モデルの構築を目指すため、深層学習を含む様々なアルゴリズムを実装しやすい Python がおすすめです。
以下は PyCaret を用いて、モデリングを行った結果です。

各アルゴリズムによるモデルの予測精度を比較したり、交差検証を行いモデルの汎化性能を確認したり、

モデルのハイパーパラメータのチューニング、データの特徴量エンジニアリングを行いながら予測精度の高いモデルの構築を目指します。
このケースは、要因を明らかにするため(目的変数に対して影響度の高い変数を調べるなど)に統計モデルを活用します。そのため R を使用するのがおすすめです。
※ Python でも統計モデルを扱える statsmodels を使用することにより、詳細の解析結果を確認することも可能です。
以下は R による重回帰分析の結果です。

詳細の結果の見方は割愛しますが、着目すべきは標準偏回帰係数や p 値になります。
また、変数間の多重共線性を検出したり、

ステップワイズ法を用いた変数選択を行ったりします。

R を扱う場合は、未知のデータに対する汎化性能ではなく、分析結果から導き出される情報を重視します。
Python と R それぞれを上手く使い分けできるとデータサイエンティストとしての幅が広がる
個人的に R で出力できるグラフはシンプルで美しいと思いますので紹介します。
ヒストグラム

相関係数のヒートマップ

ヒストグラム

相関係数のヒートマップ

決定木

.jpg&w=3840&q=75)
キカガクの長期コースはプログラミング経験ゼロの初学者が最先端技術を使いこなすAIエンジニアになるためのサポート体制が整っています!
実際に未経験からの転職・キャリアアップに続々と成功中です
まずは無料説明会で、キカガクのサポート体制を確認しにきてください!
説明会ではこんなことをお話します!
.png&w=3840&q=75)
AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!
SHARE
AI/データサイエンス学びはじめの方におすすめの記事
コース一覧
注目記事
新着記事