フリーランチ食べたい

No Free Lunch in ML and Life. Pythonや機械学習のことを書きます。

Pythonに関するオススメの書籍/サイト/サービス/Podcast/イベントの情報

Pythonをこれから勉強したい or 最新情報のキャッチアップがわからない、という方に

tskubapy.connpass.com

  • つくばPythonもくもく会 No.2を開催しました!
    • 参加者の方の中にはこれからPythonを始めたい、という方もいらっしゃったので、今まで自分が勉強してきた中で役に立ったものをリストアップして、LTしました。
    • 自分は機械学習系のエンジニアをしていて、そっちの方向で学んでいることも多いので、「言語について」と「機械学習/データ解析」という分け方をして紹介したいと思います。
  • 「機械学習/データ解析」に関してはPythonに関係するものだけに絞っています。
  • 書籍に関してはたくさん挙げられても迷ってしまうと思ったので、本当は他にもたくさん素晴らしい書籍があるのは理解しつつ、「あえて選ぶなら」を載せています。

学習する上で注意すること

勉強する教材を選ぶ上で個人的に気にした方がいいと思っていることは↓です。

  • 最新の情報かどうか
    • Pythonに関わらずWeb技術はOutdatedになるのが早いです。常にその情報が最新に更新されているか確認する必要があります。
    • そういう意味で公式のチュートリアルなどは(ある程度)安心してできると思います。
  • 誰が書いているか
    • 書籍、インターネットには大量の情報が存在して玉石混交だと思います。その中でいい情報を選択するには「著者がどんな人か」を調べるのは非常に有用です。
    • 例えば自分が勉強したいライブラリがあったとき、その作者が書いている本はとても良いと思います。
    • pandasを学びたいときには作者のWes McKinneyが書いた「Pythonによるデータ分析入門」を読みましょう
    • kerasを学びたいときには作者のFrancois Cholletが書いた「PythonとKerasによるディープラーニング」を読みましょう

書籍

言語について

初級の方が読むのに良い本

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

  • 作者:Al Sweigart
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/06/03
  • メディア: 単行本(ソフトカバー)

入門 Python 3 という選択肢もありますが、自分はこちらの方が実践的で楽しく学べると思います。

中級から上級になりたい方が読むのに良い本

Fluent Python ―Pythonicな思考とコーディング手法

Fluent Python ―Pythonicな思考とコーディング手法

  • 作者:Luciano Ramalho
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/10/07
  • メディア: 単行本(ソフトカバー)

さらに実践的なTipsを学びたい人向け

Effective Python ―Pythonプログラムを改良する59項目

Effective Python ―Pythonプログラムを改良する59項目

  • 作者:Brett Slatkin
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2016/01/23
  • メディア: 大型本
包括的に学ぶというよりは、細かい実践的なTipsがたくさん載っています。FluentPythonを読み終えた後にExtensionとして読むのがオススメ。

機械学習

理論と実践を包括的に学びたい

scikit-learnとTensorFlowによる実践機械学習

scikit-learnとTensorFlowによる実践機械学習

  • 作者:Aurélien Géron
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/04/26
  • メディア: 単行本(ソフトカバー)
現時点での決定版だと思います。Scikit-learn/Tensorflowの使い方とその裏側にある理論がバランスよく網羅的に記載されています。

↑が出る前の自分の中では決定版でした。ページ数的にはこちらの方が少し手っ取り早いと思います。 ただしDeepLearningについては記載なし 第二版からはDeepLearningの章も追加されています。(追記: ブコメで指摘いだきました。ありがとうございます。)

PythonとKerasによるディープラーニング

PythonとKerasによるディープラーニング

  • 作者:Francois Chollet
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/05/28
  • メディア: 単行本(ソフトカバー)
Kerasについて学びたい方はKeras作者のFrancois Cholletが書いたこちらの本がオススメです。

前処理、データ解析について学びたい

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

  • 作者:Wes McKinney
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/07/26
  • メディア: 単行本(ソフトカバー)
pandasの作者Wes McKinneyの著書。第一版を間違って買わないように注意。(Python2系なので)

PythonユーザのためのJupyter[実践]入門

PythonユーザのためのJupyter[実践]入門

Jupyterだけでなくpandasやmatplotlibについても詳しく書いてあります。

ベイズの勉強をしたい

Pythonによるベイズ統計モデリング: PyMCでのデータ分析実践ガイド

Pythonによるベイズ統計モデリング: PyMCでのデータ分析実践ガイド

現時点でのPythonでのベイズ統計を学ぶ決定版だと思います。もう少し詳しい感想はこちらに書きました。

blog.ikedaosushi.com

Pythonで体験するベイズ推論 PyMCによるMCMC入門

Pythonで体験するベイズ推論 PyMCによるMCMC入門

↑が出る前は自分の中で決定版でした。↑より少しとっつきやすいと思います。 また、英語版はGitHub上でJupyterNotebook形式で全て読めます。 github.com

サービス/サイト

言語を学びたい

Python チュートリアル — Python 3.8.1rc1 ドキュメント 公式チュートリアルです。基本的に間違った内容が書いていない、かつ常に最新版にアップデートされていくので、信頼性が高いです。

Python Boot Camp(初心者向けPythonチュートリアル) — PyCon JP

PyConJP が主催しているPython BootCampのチュートリアルです。こちらも定期的に全国で開催されながらアップデートされていくので、Outdatedな内容は少ないと思います。

有名ライブラリの情報を包括的に知りたい

github.com Webアプリケーション, Desktopアプリケーション、音声解析...などジャンルごとに有名なPythonライブラリがまとめてあります。 Pythonで何か作りたいものがあるけど、どのライブラリを使って良いかわからないときは始めにここを見て、Star数を見て判断するのが良いでしょう。

GitHubじゃ!Pythonじゃ! – GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

Python(など)の有名GitHubリポジトリを翻訳してくれているサイトです。RSSで購読しておくのがオススメです。

最新動向を追いたい

メーリス

www.pythonweekly.com

python.libhunt.com

メーリスに登録していると毎週木曜/金曜日あたりに、「今週あったPython界隈での主な動き」を配信してくれます。 このメーリスを購読していれば基本的に大きな動きは見逃さないでしょう。

github-trending-repos

github.com

github-trending-reposは面白いリポジトリで、各言語ごとにIssueが切られていて、最近ホットなライブラリがそのIssueに書き込まれるシステムになっています。 自分が気になるカテゴリをGitHubの機能でWatchしておくのが良いです。自分が購読しているのが↓のPythonとjupyterです。

Python New weekly trending repos in Python · Issue #11 · vitalets/github-trending-repos · GitHub

Jupyter https://github.com/vitalets/github-trending-repos/issues/110

機械学習を勉強したい

オンラインコース

オンラインコースはfast.aiとCourseraがオススメです。 シラバスを見ることができるので最初にチェックして自分に合っているものを受講するのが良いでしょう。

course.fast.ai

www.coursera.org

www.coursera.org

www.coursera.org こちらはPythonではなくMatlab/Octaveなのですが、とてもオススメなので例外的に入れさせてもらいました。

ドキュメント

scikit-learnのドキュメントは単なるライブラリの説明を超えて機械学習に関するエッセンスがてんこ盛りです。

scikit-learn: machine learning in Python — scikit-learn 0.22 documentation

記事

参考になりそうな記事です。

employment.en-japan.com

qiita.com

qiita.com

Podcast

言語について

talkpython.fm

https://www.kennethreitz.org/import-this/www.kennethreitz.org requests, pipenvのKenneth ReitzがやっているPodcastです。

機械学習

softwareengineeringdaily.com

twimlai.com GoogleBrainのJeff Deanや、fast.aiのJeremy Howardなど機械学習のトップエンジニアが出演しているPodcastです。

イベント

言語について

pyconjp.connpass.com

PyCon JPは日本で一番大きなPythonのイベントです。毎年一回9月に開催されています。

Python Boot Camp(初心者向けPythonチュートリアル) — PyCon JP

Python BootCampはPyCon JPが定期的に全国各地で開催しているイベントです。 熟練されたPythonistaが直接Pythonを教えてくれるのでおすすめです。

機械学習

pydatatokyo.connpass.com

機械学習やデータサイエンスに限定したPythonの勉強会です。

machine-learning15minutes.connpass.com

最後に

  • 「これもあるよ!」「こっちの方がいいよ!」というものがあれば、是非コメントで教えてください
  • それではよいPythonLifeを!