これからpythonを勉強しようと思っているけど何を使って勉強したらいいかわからない、そんな方向けの記事です。
本記事では完全未経験でコードなんて一回も書いたことがなかった私が自分で機械学習で論文を書いたり、プログラミングコンペに参加できるようになるまでに本当に役立ったサイトや本を紹介します。
AI、機械学習、深層学習。最近はそんな言葉を耳にする機会が本当に多くなりました。
様々な学会でAIセッションなるものが開催され,日に日にAI領域への関心が増しています。

どうせ僕たちの仕事は機械に取られてしまうんだ・・・怖いよぅ・・・
こんな状態の人も多く目にします,私もそうでした。なぜ将来に不安を感じ恐れてしまうんでしょうか。
それは知らないからです。
AIや機械を全知全能のもののように感じてしまっている,だから怖いんです。
実際に少し勉強してみると,AIと一口に言っても様々なものがありますし,全知全能ではないことがわかります。
同時にAIとかプログラミングってこんなに無限の可能性を秘めていてなんておもしろいんだろう!という気持ちになります。
この激動の時代で重要なこと,それは現状・そして少し先の未来に起こるであろうことを正確に把握し今行動を起こすことです。
私は数年前,数あるプログラミング言語の中からPythonを勉強することに決めました。
なぜPythonか,それはPythonが医療統計として大きな価値があると感じたからです。
Pythonの特徴
- 機械学習やディープラーニングに強い
- コードが簡単で初心者にも扱いやすい
- 統計手法として医学統計と相性が良い
実際に今,Pythonを用いて解析した医学論文が多くpublishされています。
<PET画像を用いた機械学習による乳がんの腋窩リンパ節転移予測>
これから医療業界でもAIや機械学習への関心は必ず伸びてきます。
そんな中,今で言うEZRやRのようにPythonによる機械学習が広く医療者に使われるようになる日が来るはずです。
そんな日に備えて今から勉強しておくことに全く損はないです。
今回は私が全くのプログラミング初心者から今ではKaggleというプログラミングのコンペに参加できるまでに成長したその過程で本当に役に立った教材や参考書をご紹介します。
本記事の想定読者
- プログラミング初心者でとりあえず触れてみたい人
- 機械学習で何ができるか知りたい人
- 今後研究で機械学習を取り入れたい人
目次
pythonで機械学習をするためのおすすめ参考書・おすすめサイト 5選
PyQ(パイキュー)

オンラインプログラミング学習サイトのPyQ(パイキュー)。
本ではないですが、初心者におすすめです。
私はPythonを勉強すると決め,一番最初にこのプログラミング学習サイトで勉強を始めました。PyQはクエスト式になっていて超基本から小分けに一歩ずつ丁寧に学ぶことができます。
私はコードなんて一つも書いたことがなかった上,機械も苦手でしたが,PyQはそんな私でも抵抗なくクエストをクリアする小さな達成感を得ながら続けることができました。
以下で紹介しているような参考書は非常にわかりやすく素晴らしい参考書ですが,一度もコードを書いたことがない状態で読むと拒絶反応がものすごく出ます。実際に私がそうでした。
なのでまずはイチからじっくりと学べるPyQのようなオンライン学習サービスを使用するのが一番良いと思います。
もちろんこの全ての学習を完了してから次に進む必要はありません。ある程度基本中の基本を理解した段階で以下で紹介しているような参考書による学習と平行して進めることがおすすめです。
最近はProgateというオンラインプログラミング学習サイトを使用している人も多いようです.私は使ったことがないですが評判が良いので使ってみるといいかもしれません。
PyQ:ゲーム感覚でオンラインでpythonの基本を学習できる。
Python実践データ分析100本ノック

私がPyQでPythonの基本中の基本を学んだ後,取り組んだいくつかの参考書で最も有用だと感じたのが本書です。
つまり2つの目の学習に最も有用だと感じたのが本書です。
本書は題名に100本ノックとあるようにビジネスに則した10個の課題をPythonでデータ分析しながら解決しながら勉強していきます。
本書の最大の利点はコードが実際に記されているため完全な初心者でもまず写経しながら学んでいくことができる点です。
実際に私もPyQで基本中の基本は学んでいたとはいえ自分で実際にコードを動かしたことはなく,初心者にほんのちょっと毛が生えた状態でした。
そんな中,本書に書かれているコードをひたすら写経し,自分でコードが実際に機能することを確認しながらわからないところはインターネットで調べながら進めていきました。本書の内容をしっかりと身につければ巷で話題のkaggleなどのプログラミングコンペにとりあえず参加できるくらいのレベルになれます。
ここがプログラミング学習で一番つらいところでした。
全くわからない暗号を解き進めるような感覚です.しかし本書の5章くらいから少しずつ楽しくなってきます。
この一番つまらない時期を超えることができるかどうかがプログラミングを続けることができるかの分かれ目になります。
ゼロから作るDeep Learning

本書はディープラーニングに特化して勉強することができる1冊です。
本書の良い点は実際にコードが記載されており,詳しく説明してくれている点です。
私は下で紹介しているKaggleで勝つデータ分析の技術と併用して勉強していくことがおすすめです。
私はKaggleで勝つデータ分析の技術をメインで使用し,理解しにくい部分を中心に本書で勉強しています。
1冊を自分の中でメインに据えながらわかりにくい部分を他で補っていくと非常に理解が深まるので大変おすすめです。
Kaggleで勝つデータ分析の技術

基本の学んだ後はプログラミングコンペに参加するのがおすすめです。
私はKaggleというプログラミングコンペに参加しています。
Kaggleではデータ分析結果の正確性の高さなどを競います。
ビジネスや金融のデータを扱うものが多いですが,医療に関するコンペも少なからずあります。
そのプログラミングコンペKaggleで上位に入るために基本から上級者向けまで幅広いテクニックを教えてくれるのが本書です。
本書で勉強し上位入賞した人も多くいらっしゃるようです。
Kaggleでは実際にコンペに参加しなくともデータ分析のプロたちのコードを無料で見て勉強することができます。
これは超有用です。
Kaggleでプロたちのコードを見ながらそのコードの理論を本書で勉強するのがおすすめです。
さいごに
いかがでしたでしょうか。
プログラミング,勉強してみると本当におもしろいです。
そしてどの分野でも今後のキャリアアップやスキルアップにつながること間違いなしです。私はコードなんて一回も書いたことのないところから今ではやっとプログラミングコンペに参加できるくらいに成長することができました。
ここまで成長するまでに勉強を始めてから2年近くの時間がかかりました。

2年でその程度なんて・・・果てしなさすぎる・・・
しかし,仕事をしながら並行しての勉強でしたので実際に使える時間は限られていましたし,あまり勉強にならない参考書などに多くの時間を費やしたりもしました。
なので実際はもっと短期間で成長することができたと思っています。なのでみなさんには遠回りすることなくできるだけ最短の道で成長してもらいたい,そう思って本記事を書いています。
この記事が一人でも多くの方がPythonやプログラミングに興味を持っていただきその助けになれば嬉しいです。
Twitter(アカウントはこちら)でプログラミングに関すること、医学生や研修医だった過去の自分に伝えたい仕事のテクニックなどを発信しています。よかったらフォローしてみてください。
では,また。