気温が抜けているデータでは、抜けた気温データの前後では気温が両方とも29℃なので、抜けたデータも29℃であると推測するのが良いでしょう。そこで、抜けた気温データは29℃として考えます。, このように不要なデータを削除したり、データを修正・加工したりしてきれいにするのが前処理です。ちなみにデータを埋める場合は、埋めるデータをいちいち考えると大変なので、平均値や中央値で埋めましょう。なお、詳しくは次の章で説明しますが、Pythonで使えるツールを利用することで、簡単に前処理ができるようになります。, 2つ目のステップである「可視化」では、文字通りデータを目で見て分かる形に変形します。一番簡単な方法は、グラフを使うことでしょう。, 前処理したデータを、気温と販売個数についてグラフにしてあげると、直線状のグラフになります。, このように誤差はあるものの、データがおおよそ一直線上にあることが分かりますよね。このグラフを見ることで、先ほどの表を見るよりも直感的に、気温と販売個数に関係があることが分かります。今回の例では、気温が高くなればなるほど、アイスクリームの販売個数も増えています。, 今回の場合だと、アイスクリームの販売個数は気温が高いほど増えていますよね。この情報をもとにして、「コンビニのアイスクリームの仕入れを増やす」という判断まで結びつけるのが考察です。ただし、店長の「冷房をつける」のような誤った判断につなげてしまわないよう、注意してください。, 「意外とデータ分析って大変そう…」と思った人も大丈夫です。Pythonにはデータ分析を簡単にするための便利なツール(ライブラリといいます)がたくさんあります!今回は、特に役立つ3つのライブラリを紹介するので、この3つのライブラリを上手く活用して、様々な視点からデータ分析をできるようにしましょう。, Pandasは表形式のデータを扱うときに便利なライブラリです。PandasではPythonのみでコードを書く場合よりも圧倒的に早く、データが欠けている部分だけ取り除く、必要なデータだけ切り出す、データを項目ごとに分ける、などの操作をすることが可能で、簡単に表形式のデータを前処理することができるようになります。データの多くは表形式なので、Pythonでデータ分析をする場合はPandasが役に立つでしょう。, scikit-learnでは、アイスクリームの例でも使用した回帰分析や機械学習など、たくさんのデータ分析を数行のコードで簡単に使用することができます。, 特に機械学習などでは書かなければいけないコードが複雑で膨大になってくるため、機械学習を数行のコードで簡単に使用できるscikit-learnは、Pythonによるデータ分析に欠かせない存在でしょう。, データをグラフとして可視化するときは、Matplotlibが便利です。Matplotlibはグラフの描画専用のライブラリなので、数行のコードで簡単にデータをグラフ化することができます。さらに、グラフを簡単に描くだけではなく、見た目のレイアウトを整えたり画像を出力したりすることも可能です。, データは正しく分析することで、しっかりとした理由がある決断をできるようになりますが、間違ったデータの解釈をしてしまうと、その後の選択まで間違ってしまい、大きなミスにもつながってしまいます。, 先ほどのアイスクリームの例では、店長が間違ったデータ分析をしたことで、コンビニでは毎日冷房をつけていました。ですが、アイスクリームの売り上げは伸びなかったのですから、冷房をつけただけ電気代が無駄になったと考えられるかもしれません。ところが、店長が正しいデータ分析をすることで、無駄に冷房をつけるのではなく暑い日にアイスクリームをたくさん仕入れていた場合、売上は間違いなく伸びていたでしょう。, またデータ分析の中でも、特にAI(人工知能)や機械学習では「過学習」という問題がよく起こります。, このように、過去のデータを信用しすぎることで間違った予測をしてしまうことを(アイスクリームの例の場合、今年の気温が去年よりも高いのにアイスクリームを100個しか仕入れないなど)「過学習」といいます。過学習はAI(人工知能)や機械学習では大きな問題になっているので、AI(人工知能)や機械学習でデータ分析をしようと思っている人は過学習に注意しましょう。, 過学習に限らず、データ分析全体としても、過去のデータを信じすぎるのではなく臨機応変に対応していくことが重要です。, それでは、Pythonでデータ分析をするデータ分析エンジニアは、どのような仕事をしているのか解説しましょう。, データ分析エンジニアの仕事は、データの収集や前処理、データ分析をすることによって、データから企業の成果につなげられるような情報を見つけ出すことです。分析するデータやそこから見つけ出す情報は企業によって変わるため、データ分析エンジニアには専門的な知識のほかにも、企業に関する知識が必要になります。, もちろん「データ分析エンジニアって大変だし、難しそう…」と思いますよね。データ分析エンジニアに求められるスキルは確かに高いですが、Pythonによるデータ分析がまだ新しい技術であり、人手が不足しているため、データ分析エンジニアは需要が高い職業です。そのため、データ分析エンジニアのスキルの高さとの相乗効果で、一般的な職業より多い収入を期待することができます。, これから、さらにビッグデータやAI(人工知能)が身近になっていくことで、将来的なデータ分析エンジニアの需要も期待することができるでしょう。最新の技術に触れられることや需要の高さ、将来的な需要などから、これから人気が出てくるに違いありません。, さて、今回はPythonでデータ分析をする方法・ツールについてお伝えしました。今回の記事をまとめると、このような内容になります。, Pythonでデータ分析をすることで、膨大で複雑なデータでも、ライブラリを使って簡単に分析できますよね。Pythonによるデータ分析の需要は、これからかなり増えます。この機会にぜひ、Pythonを使ったデータ分析のスキルを身に付けましょう!, Web開発者として3年働かせていただき、自動運転等のニュースを見て、AIに興味を持ち現在はお多福ラボでAI開発者として働かせていただいております。, 休みの日はカフェで読書か、サイクリングをすることが多いです。最近AIを活用している事例は、ビットコインの今後の価格の予測などをメインで行っています。, まだまだ勉強中ではありますが、AIZINEの記事の監修をさせていただけることになりました。よろしくお願いいたします!, このように、データ分析では前処理、可視化、考察の3ステップをおこないます。データ分析と聞くとつい可視化だけをするように感じてしまいますが、, 例えば、アイスクリームが去年100個売れたとしても、来年100個売れるかどうかは分からないですよね。今年の気温が去年より高くなれば、アイスクリームは100個以上売れると予想できますし、今年の気温が去年より低くなれば、売れるアイスクリームは100個より少ないと想像できます。, AI(機械学習)を実装しようとする際に誰もが直面する問題「過学習」。「過剰適合」や「オーバーフィッティング」とも呼ばれる現象ですが、過学習がなぜ起き、どういうもので、どう対策したらいいのか?について僕は理解できてません。そこで今回は、この過学習の詳しい内容や対策について調べて理解していきます!, たとえば、金融業界のデータ分析エンジニアになるのであれば、データ分析の知識以外にも、金融についての知識が必要でしょう。, 交差検証(cross validation/クロスバリデーション)の種類を整理してみた, Pythonでデータ分析することとは、データの特徴を見つけ出し、データのもつ意味を考えること, Pythonでデータ分析する方法は、前処理、分析、考察の3つのステップに分かれている, Pythonで便利なライブラリには、Pandas、scikit-learn、Matplotlibの3種類がある, Pythonによるデータ分析で注意する点は、原因と結果を正しく考察することと、過去のデータを信用しすぎないこと, Pythonのデータ分析エンジニアとは、データの収集や前処理、データ分析をすることで、データから企業の成果につなげられるような情報を見つけ出す仕事. AI(人工知能)やビッグデータを使ってみたくてPythonを勉強する人は多いですよね。そんなときに出てくるのが、Pythonを使ったデータ分析。とはいえ、Pythonのデータ分析は難しいイメージを持つ人が多いです。そこで今回は、Pythonでデータ分析をする方法や役立つツールについてお伝えします。 まずは、分析手法についてご紹介します。 ここでは回帰分析、その中でも重回帰分析と呼ばれる手法を利用して競馬予測をしています。 回帰分析は、機械学習の中でも最も一般的な手法の一つで、その中でも単回帰分析と重回帰分析の2つに分けられます。 回帰分析に関するご説明はこちらの記事でもご紹介しているので、詳しく知りたいという方がいらっしゃいましたらご参考ください。 ただこちらのページで紹介しているのは数 … 今回競馬データを分析するに当たり、以下の条件を設定しました。 1着の馬を当てる. セブ島 IT×英語留学のKredoの「IT留学オンライン」では、プログラミングと英語のスキルをオンライン授業で習得できます!, \プログラミングと英語が同時に身につく!/KredoのIT留学オンラインについて詳しくみる, Kredo編集部です!Tech、英語学習、キャリア、セブ島留学の情報を発信していきます。, 14th Floor Central Bloc Corporate Center Tower 1, Block 10, Geonzon St., 単勝のみで勝負します。簡単で分かりやすいです。 人気データは使わない. そのような未来がきたとき、自分自身、そしてあなたの大切な人を守れますか? Pythonを使ってデータ分析ができるようになれば、大量のデータを高速で処理できるようになり、エンジニアとしての価値も高まります。, という疑問を感じている方に向けて、Pythonを使ったデータ分析のやり方を紹介します。, データ分析に必要なライブラリや、データ分析の初歩的なやり方をメインに解説するので、これからPythonでデータ分析をやりたい方はぜひ参考にしてみてください!, まずはPythonのデータ分析にはどのような特徴があるのか、軽く触れておきましょう。, データ分析はExcelのVBAやR言語などでもできますが、Pythonのデータ分析には、ほかの分析方法よりも優れている点があります。, データ分析の一連の流れがPythonで完結するのは、Pythonにさまざまなライブラリが用意されているため。, 一つのライブラリで実行できることは限られているものの、複数のライブラリを駆使すればデータ分析を一通り行えるようになっています。, Pythonでデータ分析が完結できると考えると、Pythonは学習のコスパが高い言語でしょう。, Pythonを使えばデータの抽出、削除、統合などの分析に必要な操作を自動化できます。, ExcelのVBAもデータ分析で使われることがありますが、手動で処理をする場面が多いため、データを処理する機会が多いと必然的に時間を取られてしまうでしょう。, しかしPythonは、データ分析の操作を自動化してくれるおかげで、分析にかかるコストを大幅に抑えられます。, またPythonは大量なデータを素早く処理することにも長けているため、データ分析を大幅に効率化できること間違いないでしょう。, Python以外にデータ分析で使えるプログラミング言語として、R言語があげられます。, R言語はデータ分析に必要な機能が豊富に揃っており、データサイエンティストなどの専門家が使用することの多い言語です。, R言語はデータ分析で使用されることがメインですが、Pythonはデータ分析のみならず「機械学習」「Webサービス(アプリ)の開発」などにも使用できます。, データ分析を専門的に学びたいのであればR言語がおすすめですが「機械学習やWebサービスの開発などもやってみたい」という方はPythonがおすすめです。, Pythonを使ってデータ分析をする場合、Pythonをインストールするだけではまだ必要なものが足りません。, ライブラリをインストールすれば、Pythonで便利にデータ分析できるようになりますよ。, Pandasとはデータの処理に特化したライブラリで、さまざまなファイル形式のデータを扱えるのがメリット。, データ分析では列と行がある表形式のデータを扱うことがありますが、Pandasは「csv」「excel」「SQLデータベース」などの表形式のデータは一通り扱えます。, Pandasでのデータ操作には関数を用いることがありますが、Pandasの関数はSQLで使う関数と類似しています。, そのためSQLの学習をしている方であれば、スムーズにPandasを利用できるようになるでしょう。, NumPyをインストールせずともPythonで数値計算はできるものの、C言語やJavaを使った数値計算に比べると、スピードはかなり劣ります。, しかしNumPyの内部はC及びFortranが用いられているため、NumPyをインストールすれば、従来のPythonよりも数値計算が格段に早くなります。, np.ndarrayとは多次元配列を扱える機能で、1次元や2次元などの配列を扱えます。, np.ndarrayを使えば短めのコードで計算できますし、コードが短い分計算処理のスピードも早くなります。, matplotlibはNumPyと一緒に使われることが多く、折れ線グラフや円グラフ、3Dグラフなどのグラフを描けます。, データ分析の際にデータをグラフとして描写すれば、データの変移の特徴をつかみやすくなるでしょう。, この機械学習の一連の流れは、scikit-learnを使えば効率よく進められます。, 機械学習にはさまざまなモデル(手法)があり「回帰」「ニューラルネットワーク」「クラスタリング」「アソシエーション分析」などがありますが、scikit-learnは機械学習のモデルを豊富に用意しています。, 「機械学習ってコードを書くのが難しそう…」というイメージがありますが、scikit-learnを使えばシンプルなコードで機械学習を実装できるので、機械学習の初学者でも安心して使えますよ。, 「Pandas」「NumPy」「matplotlib」「scikit-learn」の4つのライブラリは、簡単にインストールできます。, いずれのライブラリでも、インストールの際はコマンドプロンプト(Macの場合はターミナル)を使用します。, 「Pandas」「NumPy」「matplotlib」「scikit-learn」の基本的な使い方を紹介します。, df_tsv=pd.read_csv(‘tsvファイルのパス’, delimiter=’\t’), データを作成する場合、1次元のデータを作りたいときはSeries()、2次元のデータを作りたいときはDataFrame()を使います。, df=pd.DataFrame({‘α’:[‘a’,’b’],’β’:[‘c’,’d’],’γ’:[‘e’,’f’]}), 1次元データの作成で縦の項目にラベルを指定しない場合、自動的にラベルが付与されます。, 第一引数に列(行)のインデックスを指定し、列を削除する場合はaxis=0、行を削除する場合はaxis=1を第二引数で指定します。, しかし第三引数でaxisを使い、0を指定すると縦方向に、1を指定すると横方向に追加されていきます。, arr2=np.append(arr,[[49,64,81],[100,121,144]],axis=1), ただこれだとデータの順番が反時計回りですし、1番目のデータであるAが0時の方向にありませんよね。, データの順番を時計回りにして、1番目のデータの位置を0時の方向に置く場合、以下のコードを書きましょう。, plt.pie(x,labels=label,counterclock=False,startangle=90), scikit-learnは基本的に、scikit-learnの一部のモジュールだけをimportするのが主流です。, 今回紹介したライブラリの使い方は、あくまで基本的なものですので、本格的にデータ分析するにはより学習が必要です。, ですが基本的な使い方はあまり難しくはないので、どなたでも無理なく学習をスタートできるでしょう。, 今回紹介したことをきっかけに、Pythonを使ったデータ分析の手法を身につけていきましょう!, 「これからの時代、プログラミングと英語が必要そう…」