AI(人工知能)やビッグデータを使ってみたくてPythonを勉強する人は多いですよね。そんなときに出てくるのが、Pythonを使ったデータ分析。
しかしいざ自分でデータ分析をしようとしても、「Pythonでのデータ分析って難しそう…」「Pythonのデータ分析って具体的に何をすればいいか分からない…」と戸惑ったり、やってみてもPythonが難しく使いこなせずにと尻込んでしまったりして、なかなかデータ分析ができない人も結構います。それでもAI(人工知能)を活用するためには、まず基本であるデータ分析をPythonでできるようになる必要があります。
そこで今回は、Pythonでデータ分析をする方法や役立つツールについてお伝えします。実際にPythonでデータ分析をするためには、まずは「そもそもデータ分析とは何をすること」なのか確認しましょう!
Pythonでデータ分析することとは
データ分析について理解するために、1つの例を挙げて考えましょう。よく例に出されるのは、アイスクリームの話です。
「あるコンビニの店長が、アイスクリームの売り上げを伸ばすため、アイスクリームが売れる理由を調べていました。売上データを調べてみると、どうやらコンビニで冷房がついていた日にアイスクリームがよく売れていたようです。そこで店長は、アイスクリームの売り上げを伸ばすために毎日冷房をつけましたが、アイスクリームの売り上げが伸びることはありませんでした。」
そこでなぜ、アイスクリームの売り上げが伸びなかったのかを考えてみましょう。アイスクリームは冷房を付けていたから売れたわけではなく、冷房を付けるような暑い日だったから売れていた、と考えられますよね。今回の場合、このようにエアコンとアイスには直接的な関係がなかったと考えるのが自然でしょう。
この例のように、
- データの特徴を見つけ出し、
- データのもつ正しい意味を考える
ことがデータ分析です。
実際にデータ分析をする場合は、何かしらのツールを使用して分析するでしょう。誰にでも手軽に扱える分析ツールの1つにExcelがありますが、Excelには「複雑な分析やAI(人工知能)などの機械学習を組み込むことが難しい」という欠点があります。また、「データの量を増やすとPCの動作が急に遅くなる」という経験をしたことがありますよね。このようにExcelは、AI(人工知能)やビッグデータを使う分析にはあまり向いていません。
ところが、PythonではAI(人工知能)などを簡単に使用できてExcelと比べると動作も軽いため、大量のデータを使って複雑な分析をする場合にも、簡単にデータ分析できます。このような理由から、AI(人工知能)やビッグデータを使用するときは、データ分析にPythonを使うことが多いです。
Pythonでデータ分析・統計をやる方法
世の中には商品の売上データ、Webサイトを訪れたユーザーのデータ、株や為替の取引データなどの色々な種類のデータがありますよね。データの種類はとても多いので、それを分析する方法もたくさん存在します。データ分析はとても奥が深く、分析方法も非常に多いのですが、まずは先ほどのアイスクリームの例をもとに、基本的なデータ分析をしてみましょう!
データ分析は大きく分けて、このような3つのステップに分かれています。
- 前処理
- 可視化
- 考察
それでは、1つずつ確認していきましょう。
前処理をして、データを整理する
1つ目の「前処理」とは、データをきれいに整理することです。データはきれいなものばかりではなく、一部のデータが抜けていることや間違ったデータが入っていることがあるため、正確な分析をするためにも、前処理をしてデータを整理する必要があります。
例えば、売り上げの個数が毎日2~3個あるのに、突然「100個」という数字が入力されていたとします。この100個のアイスクリームは、気温が29℃だから100個売れたのではなく、買ったお客さんに特別な事情があったから(あるいはデータの誤入力)だと考えた方が自然でしょう。そのため、100個のアイスクリームが売れたデータは例外的なデータ(外れ値)だと考え、今回は使用しません。
気温が抜けているデータでは、抜けた気温データの前後では気温が両方とも29℃なので、抜けたデータも29℃であると推測するのが良いでしょう。そこで、抜けた気温データは29℃として考えます。
このように不要なデータを削除したり、データを修正・加工したりしてきれいにするのが前処理です。ちなみにデータを埋める場合は、埋めるデータをいちいち考えると大変なので、平均値や中央値で埋めましょう。なお、詳しくは次の章で説明しますが、Pythonで使えるツールを利用することで、簡単に前処理ができるようになります。
データを可視化する
2つ目のステップである「可視化」では、文字通りデータを目で見て分かる形に変形します。一番簡単な方法は、グラフを使うことでしょう。
それでは、先ほどのアイスクリームの販売データを可視化しましょう!
前処理したデータを、気温と販売個数についてグラフにしてあげると、直線状のグラフになります。
このように誤差はあるものの、データがおおよそ一直線上にあることが分かりますよね。このグラフを見ることで、先ほどの表を見るよりも直感的に、気温と販売個数に関係があることが分かります。今回の例では、気温が高くなればなるほど、アイスクリームの販売個数も増えています。
データがなぜこのような形になったのか、考える
最後のステップの「考察」では、データから得られた情報を実際の行動に結びつけます。
今回の場合だと、アイスクリームの販売個数は気温が高いほど増えていますよね。この情報をもとにして、「コンビニのアイスクリームの仕入れを増やす」という判断まで結びつけるのが考察です。ただし、店長の「冷房をつける」のような誤った判断につなげてしまわないよう、注意してください。
Pythonでデータ分析をするときに役立つツール
「意外とデータ分析って大変そう…」と思った人も大丈夫です。Pythonにはデータ分析を簡単にするための便利なツール(ライブラリといいます)がたくさんあります!今回は、特に役立つ3つのライブラリを紹介するので、この3つのライブラリを上手く活用して、様々な視点からデータ分析をできるようにしましょう。
Pandas
Pandasは表形式のデータを扱うときに便利なライブラリです。PandasではPythonのみでコードを書く場合よりも圧倒的に早く、データが欠けている部分だけ取り除く、必要なデータだけ切り出す、データを項目ごとに分ける、などの操作をすることが可能で、簡単に表形式のデータを前処理することができるようになります。データの多くは表形式なので、Pythonでデータ分析をする場合はPandasが役に立つでしょう。
scikit-learn
scikit-learnでは、アイスクリームの例でも使用した回帰分析や機械学習など、たくさんのデータ分析を数行のコードで簡単に使用することができます。
特に機械学習などでは書かなければいけないコードが複雑で膨大になってくるため、機械学習を数行のコードで簡単に使用できるscikit-learnは、Pythonによるデータ分析に欠かせない存在でしょう。
Matplotlib
データをグラフとして可視化するときは、Matplotlibが便利です。Matplotlibはグラフの描画専用のライブラリなので、数行のコードで簡単にデータをグラフ化することができます。さらに、グラフを簡単に描くだけではなく、見た目のレイアウトを整えたり画像を出力したりすることも可能です。
Pythonでデータ分析をするときに気を付けたい点
データは正しく分析することで、しっかりとした理由がある決断をできるようになりますが、間違ったデータの解釈をしてしまうと、その後の選択まで間違ってしまい、大きなミスにもつながってしまいます。
先ほどのアイスクリームの例では、店長が間違ったデータ分析をしたことで、コンビニでは毎日冷房をつけていました。ですが、アイスクリームの売り上げは伸びなかったのですから、冷房をつけただけ電気代が無駄になったと考えられるかもしれません。ところが、店長が正しいデータ分析をすることで、無駄に冷房をつけるのではなく暑い日にアイスクリームをたくさん仕入れていた場合、売上は間違いなく伸びていたでしょう。
またデータ分析の中でも、特にAI(人工知能)や機械学習では「過学習」という問題がよく起こります。
このように、過去のデータを信用しすぎることで間違った予測をしてしまうことを(アイスクリームの例の場合、今年の気温が去年よりも高いのにアイスクリームを100個しか仕入れないなど)「過学習」といいます。過学習はAI(人工知能)や機械学習では大きな問題になっているので、AI(人工知能)や機械学習でデータ分析をしようと思っている人は過学習に注意しましょう。
※過学習についてはこちらの記事でも解説しています
過学習に限らず、データ分析全体としても、過去のデータを信じすぎるのではなく臨機応変に対応していくことが重要です。
Pythonでデータ分析をするデータ分析エンジニアとは
それでは、Pythonでデータ分析をするデータ分析エンジニアは、どのような仕事をしているのか解説しましょう。
データ分析エンジニアの仕事は、データの収集や前処理、データ分析をすることによって、データから企業の成果につなげられるような情報を見つけ出すことです。分析するデータやそこから見つけ出す情報は企業によって変わるため、データ分析エンジニアには専門的な知識のほかにも、企業に関する知識が必要になります。
もちろん「データ分析エンジニアって大変だし、難しそう…」と思いますよね。データ分析エンジニアに求められるスキルは確かに高いですが、Pythonによるデータ分析がまだ新しい技術であり、人手が不足しているため、データ分析エンジニアは需要が高い職業です。そのため、データ分析エンジニアのスキルの高さとの相乗効果で、一般的な職業より多い収入を期待することができます。
これから、さらにビッグデータやAI(人工知能)が身近になっていくことで、将来的なデータ分析エンジニアの需要も期待することができるでしょう。最新の技術に触れられることや需要の高さ、将来的な需要などから、これから人気が出てくるに違いありません。
さて、今回はPythonでデータ分析をする方法・ツールについてお伝えしました。今回の記事をまとめると、このような内容になります。
- Pythonでデータ分析することとは、データの特徴を見つけ出し、データのもつ意味を考えること
- Pythonでデータ分析する方法は、前処理、分析、考察の3つのステップに分かれている
- Pythonで便利なライブラリには、Pandas、scikit-learn、Matplotlibの3種類がある
- Pythonによるデータ分析で注意する点は、原因と結果を正しく考察することと、過去のデータを信用しすぎないこと
- Pythonのデータ分析エンジニアとは、データの収集や前処理、データ分析をすることで、データから企業の成果につなげられるような情報を見つけ出す仕事
Pythonでデータ分析をすることで、膨大で複雑なデータでも、ライブラリを使って簡単に分析できますよね。Pythonによるデータ分析の需要は、これからかなり増えます。この機会にぜひ、Pythonを使ったデータ分析のスキルを身に付けましょう!