Pythonでデータサイエンスを始めよう【初学者向けの本と講座】
データサイエンティストはなぜ高待遇なは?
Pythonを使ったデータサイエンスのおすすめ入門書は?
データサイエンティストになるための講座はある?
Python以外にどんなスキルがデータサイエンティストに必要?
この記事を書いているボクは、社会人になってからPythonを習得し、データサイエンス (医療系) で学術論文を発表したり、人工知能に関する特許をとりました。
データサイエンスって言われても、何をどれくらいできれば仕事ができるレベルになるのか分かりにくいですよね。
今回の記事では、Pythonの初歩は分かるという方がデータサイエンスを始める時に読むべき本や無料講座をまず紹介し、他にどんなことを勉強する必要があるのかをまとめます。
これを読んで実践すれば、より効率よく実務で使えるレベルのデータサイエンティストに近づくことができます。
それではどうぞご覧ください。
タップできる目次
データサイエンティストは「最もセクシーな職業」である
データサイエンティストは高年収
アメリカ・ハーバード大学が運営するHarvard Business Reviewの2012年10月号で、データサイエンティストが「21世紀で最もセクシーな職業」であると紹介されました。
実際、アメリカでデータサイエンティストとして働く人の平均年収は約1000ドル (1,100万円)といわれています。
アメリカではデータの分析や活用がビジネスにとって要だと考えられているからですが、これは日本でも同様の傾向です。
国税庁の民間給与実態統計調査によると、日本人の平均年収は約441万円ですが、データサイエンティストの平均年収は約655万円です。
※ 参考: (外部サイト) データサイエンティストの年収や給料について詳しく解説します!
つまり、データサイエンティストはその他の業種よりも5割増しの報酬を受け取っていると言えます。
「最もセクシー」かどうかは価値観によりますが、魅力的な仕事ではありますね。
データサイエンティストの待遇がいい2つの理由
データサイエンティストの待遇がいいのは主に2つの理由があります。
- 魅力的な潜在価値を持つビッグデータを扱うから
- 人材が不足しているから
それぞれ簡単に補足します。
理由①:魅力的な潜在価値を持つビッグデータを扱うから
言うまでもなくビッグデータは宝の山になる可能性を秘めています。
そんなビッグデータを解析できる人材ならば、高い報酬を出してもその分のリターンがあるわけです。
実際、AmazonやYouTubeの「おすすめ」は高い確率で興味があるものが出ていますよね?
こういうところにもデータサイエンスが使われています。
理由②:人材が不足しているから
先にネタバレをしてしまいますが、データサイエンティストはプログラミングがちょっとできるだけでは勤まりません。
Pythonを使う他にも、その背景の数理理論や、大規模データベースの扱い方、そしてビジネススキルまで、多岐にわたる専門性が要求されます。
なかなかこれらを兼ね備えている人がいないので、必然的に報酬が高くなるのです。
大前提:Python入門レベルの基礎知識を身につける
データサイエンティストに不可欠なスキルの1つがプログラミングスキルです。
PythonやRがよく使われていますが、この記事ではPythonを例にして学習方法をまとめます。
大前提として、まずはPythonの初歩を身につける必要があります。
データサイエンスをやる上では、みんなのPythonに書かれているくらいの内容は必要不可欠です。
Pythonの入門書の選び方や効率のよい勉強法については、Python初心者向け学習本5選【プログラミング入門年版】という記事にまとめているので不安な方は確認してください。
また、本を読むだけではなく、ある程度のコーディング力も必要です。
例えば、
といったオンライン完結のサイトもいろいろあるので、これらを駆使して初級レベルのPython力を身につけましょう。
無料で使えるプログラミング学習サイトについてはプログラミング無料学習サイト18選【有料級の充実度】という記事も公開しています。
Pythonでデータサイエンスを学べる5冊の本+動画1つ
Pythonの初級レベルの基礎知識が身についたら、いよいよデータサイエンスに特化した内容を勉強していきます。
Pythonでデータサイエンスを学ぶ前に行うこと2つ
Pythonでデータサイエンスを学ぶ前に、学習環境を用意しておきましょう。
データサイエンスに適したPythonライブラリーのうち、有名なものとして
- NumPy (行列計算の基礎)
- Pandas (表計算)
- Matplotlib (図示)
- seaborn (図示)
- SciPy (科学計算)
- Scikit-learn (機械学習)
は少なくとも動くようにしておく必要があります。
もちろんこれら1つずつインストールしてもいいのですが、AnacondaというPythonの環境を用意しておくとこれらが全部使える状態になるので便利です。
Anaconda のインストール方法はPython Japanというサイトに詳しく書かれているのでこれを見ながらやればOKです。
自分のパソコンにPythonの環境を用意するのではなく、オンラインのWeb上で利用できるようなものもあります。
無料のGoogleアカウントが必要ですが、Google Colaboratory (Colab) というサービスを使えば自分で環境構築せずともオンラインでいろいろな解析が可能です。
【世界で18万人が受講】実践 Python データサイエンス
書籍ではないのですが、動画の方が学びやすいという方におすすめなのがUdemyから出ている【世界で18万人が受講】実践 Python データサイエンスです。
もともとの講義は英語のもので、全世界で18万人が受講したコースです。
NumPy, Pandas, Matplotlibなどの使い方の基礎を、動画で習得することができます。
コースの定価は2万円ちょっとするのですが、定期的に (月に1~2回くらい) 大幅値下げをしていて、セール中であれば1200~1500円くらいになります。
セールまで待つのがおすすめです。
東京大学のデータサイエンティスト育成講座
東京大学のデータサイエンティスト育成講座は、東京大学で行われたデータサイエンスの人気講座教材をベースに作られた本です。
マーケティングに関するデータ、金融時系列データなどを題材に、さまざまなPythonのライブラリの使い方・確率統計の手法、機械学習(教師あり学習、教師なし学習とチューニング)のやり方を学ぶ構成になっています。
データサイエンスの入門書なので、とても丁寧に書かれています。
現場で使える!pandasデータ前処理入門
データ処理に必要なPythonのライブラリーの1つ「pandas」を使って、データの「前処理」を行う方法を初学者向けに解説している本です。
データサイエンス・機械学習では、いかに「きれいなデータ」を用意するのか、がとても大事です。
データクレンジングともいわれる「前処理」がデータ分析の質に直結します。
pandasを理解することで、様々なデータ分析がスムーズに行えるようになります。
Pythonによるデータ分析入門
NumPy、SciPy、pandas、Matplotlibといったデータ分析でよく使われるPythonの人気ライブラリーの使い方を網羅的に解説した本です。
Pandasの開発者自らが執筆した本で、とても濃い内容が書かれています。
600ページ近くあるので、まずは必要なところを「つまみ食い」し、少しずつ勉強していくことをおすすめします。
Python実践データ分析100本ノック
実際のデータ分析の現場では「汚いデータ」がほとんどですが、入門書では分かりやすい「きれいなデータ」を使うことがほとんどです。
このギャップを埋めることを目的にしたのが本書で、前処理からデータ分析・機械学習・最適化問題まで、100の例題をこなすなかでより実践レベルに近づくことができます。
Pythonではじめる機械学習
データサイエンスの隣接領域である「機械学習」。
PythonにはScikit-learnというライブラリーがあり、これを使えば簡単に機械学習を始めることができます。
この本は、そのScikit-learnの実用的な解説書になっていて、機械学習の入り口とも言えるでしょう。
この記事で紹介した上の4冊よりもレベルが高いので、Pandasなどのライブラリーに習熟してから読むといいでしょう。
この本はあくまで「Pythonでの機械学習」の本であり、全くの機械学習入門者には分かりにくいです。
機械学習についての予備知識については別の書籍、例えば
で仕入れてから読む本です。
データサイエンティストに近づける講座 【無料】
初学者向けの本や動画で学んだ後は、もうちょっと深いレベルを身につけていきましょう。
ここまでいけば、Pythonに関してはデータサイエンスの実務で通用するレベルになります。
Kaggle
Kaggleは世界中のデータサイエンティストが腕を競うコンテストです。
厳密には「講座」ではありませんが、上位をとった凄腕データサイエンティストたちのコードを後日見ることができ、場合によっては解説記事も読むことができます。
「英語はちょっと・・・」という方は、「Kaggleの日本語版」とも言われるSIGNATEというサイトもありますよ。
Kaggleにせよ、SIGNATEにせよ、コンペティションに参加する前に「その道の常識」は一通り勉強しておいた方がいいでしょう。
がおすすめです。
Udacity(ユダシティ)
Udacity(ユダシティ)の講座「Intro to Machine Learning」(機械学習入門) では、ハイレベルのデータサイエンティストから動画をまじえて機械学習を教えてもらえます。
動画には字幕がついていて、さらにサンプルコードもあるので、とても学習しやすいです。
タイタニックの生存者分析、地下鉄の混雑度の予測などをテーマにデータの前処理方法などを学んでいくコース。
それなりにボリュームがありますが、これを何周かやれば機械学習の実務で必要なことを一式まとめて学習できます。
Coursera (コーセラ)
couseraは、スタンフォード大のAndrew Ngらによって作られたオンラインの教育団体で、学位を求めなければ無料で受講できます。
多くは英語の講義になるものの、自動翻訳の字幕が表示されますし、有名講座であればボランティアの方がつけてくれた日本語字幕もあります。
データサイエンスの初歩としては、
あたりがおすすめです。
また、海外の人気講座を日本語化したものとしてすべての人のためのAI【日本語版】も開講されました。
いずれも無料ですので使わない手はないですね。
データサイエンスに関するブログ
データサイエンスに関する情報をブログで発信していく方も多く、そういったブログを定期的に読むことによって、広範な知識をつけていくことができます。
日本語のものだと渋谷駅前で働くデータサイエンティストのブログ、海外のものだと
の2つはおすすめで、ボクもほぼ毎日面白そうな記事はチェックしています。
英語を日本語に翻訳する方法
データサイエンスでは世界レベルでどんどん新しい方法が考案されているため、必然的に最新の情報は英語でしか手に入らず、誰からが日本語で解説してくれるのを待っていては大きく遅れをとってしまいます。
データサイエンスを勉強していくにあたって英語で情報収集できなければかなり厳しいと言わざるを得ません。使われている専門用語はそれほど多くないので、少しずつ勉強していくことをオススメします。
とはいえ、現時点で「英語がそれほど得意ではない」という方は、Google翻訳などの翻訳ツールを使いながら勉強するのがおすすめです。
Google翻訳でももちろんOKなのですが、日本語に直したときの制度は
の方が高いことが多いです。得にDeepLはぜひ使ってみてください。その精度の高さに度肝を抜かれます。
Pythonだけではデータサイエンティストになれない理由
これまで紹介してきたPythonの便利なライブラリーを使えるようになれば、さまざまなプロジェクトに使える基礎の力が身につくのは事実です。
しかし、「道具の使い方」を覚えるだけでデータサイエンティストになることは残念ながらできません。
この記事で紹介したPythonはプログラミング技術の1つですが、それ以外にもデータベースに関する知識や、大規模データ処理についての技術 (Hadoopなど) についてもある程度は精通する必要があります。
さらに、IT以外のスキルとして、
- 数理統計スキル
- ビジネススキル
も必要なので簡単に補足します。
数理統計スキル
単にツールを使えるだけでなく、その背景にある理論を理解し、やりたいことによっては自分で新しい解析方法を考案する必要があります。
そのために必要となるのは統計学の知識で、最低でもデータ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMCで紹介されていること以上を知っておく必要があります。
また、データ分析の専門的な書籍にはほぼ必ず数学が登場します。
高校数学の理解は大前提ですが、忘れてしまった方は
- 本:もう一度高校数学
- サイト: 高校数学の美しい物語
など分かりやすく解説してくれているものがいろいろあるので、自分にあったもので復習しましょう。
また、特に必要とされる分野は、統計以外だと微分積分・線形代数であり、この2分野は大学初級程度の知識を学んでおくと後々役に立ちます。
予備校のノリで学ぶ「大学の数学・物理」というYouTubeチャンネルでは、大学初級レベルの数学を分かりやすく学ぶことができます。
ビジネススキル
データサイエンスでは、データを活用して事業に貢献することが求められます。
そのため、分析対象のビジネスについて理解していることが必要です。
ロジカルシンキングやプレゼンテーションといったビジネス全般に関わるスキルも必要で、これらを兼ね備えていないとせっかくデータを分析したのに相手に響かなかったということになりかねません。
ビジネス全般についてはもちろん自分で経験するのが一番ですが、経営・意思決定まで含めて経験することは特に会社勤めであれば難しいでしょう。
そういった場合には、たくさん出ている良書やグロービス学び放題といった動画学習サービスを使って学習するのがおすすめです。
【Pythonでデータサイエンスを始めよう】まとめ
今回の内容を簡単にまとめます。
- データサイエンティストは高年収
- NumPy, Pandas, SciPy,Matplotlibなどの使い方に習熟する
- Kaggleなどで実戦経験を積む
- 「ツールが使える」だけではデータサイエンティストには慣れない、幅広いスキルを勉強する必要あり
- 最新情報は英語。今から少しずつ慣れよう。
データサイエンスを身につけ、年収アップにつなげていきましょう。