データ分析を行う際に使うプログラミング

データ分析を行う際に使うプログラミング

プログラミングと聞いて、何となくわかっているけど一体何? 
という方も多いのではないでしょうか。

プログラミングとは、コンピューターに「このような時にはこのような対応してくださいね」と記したマニュアルのようなものです。

そして、人間の世界にも英語やフランス語、韓国語など様々な言語が存在するように、コンピューターの世界にも、Python、R言語、Java、PHPなどプログラミング言語と呼ばれる言葉が存在します。
プログラミング言語には、得意・不得意分野があり、アプリ開発を行うのか、ロボットの制御を行うのか、などその目的により使われる言語が異なります。

そのような多くのプログラミング言語の中から、データ分析を行う際に役立つソフト、プログラミング言語を紹介します。

エクセル

一般的に身近なもので、データ分析が行える物の代表と言えば『エクセル』です。
エクセルを業務でお使いの方も多いのではないでしょうか。

エクセルはデータを可視化させるためのグラフの作成が簡単にできるだけではなく、データ分析に必要な統計関連の関数が機能としてついており、それらを利用すれば計算式を入力する事なく導き出すことができます。
【sum関数】【average関数】等の初歩的な関数からのスタートで十分に解析は始められます。

また、エクセルには必要に応じて追加ができる“アドイン”と呼ばれる便利な機能があり、
そのアドインの中に「分析ツール」という機能があります。
この「分析ツール」に含まれているデータ分析手法をややこしい計算式を理解せずとも実行する事ができます。

エクセルは手軽に分析ができるという点では、とても便利なツールと言えます。
ですが、実際に扱うデータが膨大でエクセルでは分析し切れない、時間がかかる、という場合には分析に適したプログラミングを使用した方がよいでしょう。

R(アール / アール言語)


R言語は統計解析(データ分析、機械学習)を目的として開発されたプログラミング言語です。

 R言語はダウンロードをすれば、誰もが利用する事が可能です。
 日本語版のR言語ダウンロード
https://cran.ism.ac.jp/
 (統計数理研究所のCRANミラーサイト)

 また、R Studio(アールスタジオ)という無料で利用ができる、R言語を実際に動作させるソフトウェアがあります。
それら全てが無料で利用ができる、という点は、R言語を学ぶ上でも、実際に分析を行う上でも大きなメリットと言えるでしょう。

R Studioをダウンロード
https://rstudio.com/products/rstudio/download/

R言語の特徴としては、
※分析に特化している
 R言語はデータ分析を行う事を目的として開発された言語のため、アプリ開発、ロボットを動かすような事には向いていません。

ですが、データ分析に特化している分、データ分析を行うにあたり便利な機能が豊富に取り揃えてあります。
それに加え、パッケージと呼ばれる機能を利用する事により、さらに便利に必要に応じて性能を追加していくことができます。

ggplot2(ジージープロットツー):
データを可視化する際には不可欠なグラフ。標準でグラフの描画機能が付いていますが、より複雑で、またより見栄えがよいグラフを作成する事が出来ます。

Dplyr(ディプライヤー):
データフレームの集計、絞り込み、追加、並べ替えなどの操作が容易になります。

※コードが簡単
Rを動作させるには、プログラムを作成する必要がありますが、そのコードは比較的わかりやすく、プログラミング言語の中では学びやすい言語と言えます。

ですが、統計学の事が分からないと、実際の分析に必要なプログラムを書く事ができないため、R言語を使いこなすためには、基本的な統計学の知識を身に着けておいたほうがよいでしょう。

Python(パイソン)


PythonはWebアプリケーションや、AI(人工知能)、ゲームなど、幅広い分野で使われているプログラミング言語です。

Pythonで開発されたもので我々の身近にあるものは、Instagram、YouTube, Dropboxなどがあります。

Pythonの特徴としては、
※用途がさまざま
Rは統計解析に特化しているプログラムである事に対し、Pythonは多くの用途に使う事ができることが特長の一つと言えます。

特にAI、機械学習の分野でよく使われおり、今後さらに需要の増える言語と言えます。

※ライブラリが豊富
PythonもRと同じように統計や機械学習の実用的なライブラリ(追加できる機能)が豊富に存在しているため、比較的短いコードでプログラムを作成する事が出来ます。

データ分析によく使用されるライブラリとしては、
Pandas(パンダス):データ解析用。CSVファイル、エクセルファイルのデータを操作、計算、データをグラフ化するなどデータ分析を行う際に便利な機能が組み込まれています。

Numpy(ナムパイ):数値計算用。数値計算を高速で処理できる事になるため、膨大なデータを扱う機械学習で使われています。

Matpolotlib(マットプロットリブ):グラフ描画用。さまざまグラフを作る機能が含まれており、Pythonでデータを可視化する際にはよく使われています。

また、Pythonはコードがシンプルなため、初めてでも学びやすい言語と言われています。

SQL(エスキューエル)

データベースを操作するためのデータベース言語の一種です。

データベースとは、データが保管されている場所で、例えば、Webで買い物をすると、購入者の名前、購入した商品、日時、金額などの履歴がデータベースに蓄積されていきます。

そのデータベースに保存されているデータを分析する際に、「商品Aを購入した人のデータをください」とデータを取得したり、変更、削除などの操作を行う際に使われるのがSQLをはじめとするデータベース言語です。

そのためSQLの知識を身に着けると、自身で必要なデータを抽出し、分析する事が出来ます。

まとめ

ここまで、データ分析に必要なプログラミング言語を紹介してきました。

今までに、エクセルをあまり触ったことがない、プログラミングをしたことが無い方は、
「英語・数学が不得意だけど、大丈夫かしら・・・」と不安に思われるでしょう。

プログラミング言語自体は、WebやYouTubeにプログラミングの解説が多く投稿されていますので、書き方を知る事は簡単にできます。

ですが、「実際にどのようなプログラミングを書くか」に関してはその目的に応じて適切なプログラムを組む必要がありますので、「論理的思考がしっかりと出来るかどうか」が重要るという事も覚えておきましょう。

筆者:まなべくとる 山尾

データサイエンスのはてな一覧