たけとけたと片付かない部屋

製造技術の仕事や家事・育児、趣味について書きます。

データサイエンスのためのpython講座を受講しました

どうも、たけとけたです!

化学メーカーの製造技術×データサイエンスのキャリアを目指して勉強中です。と言いつつ、データサイエンスの方は趣味で遊びの要素が強いです。 今回は、米国データサイエンティストのかめ(@usdatascientist)さんの「データサイエンスのためのpython講座」を受講しました。 pythonのコードをちょっと読めるようになったものの、コピペ実装ではエラー吐いた時に手も足も出ないので基礎の部分を習得してエラー対処できるようになりたいと思い始めました。

本講座の目的

本講座の目的は、目次に記載されているものです。データサイエンスのためのPython入門講座全33回〜目次とまとめ〜

本講座では,Pythonでデータサイエンスをするにあたり必要な環境構築・Pythonの基本・データサイエンスに使うPythonライブラリの基本・その他データサイエンスで頻出のPythonモジュールの’基本の’使い方をマスターすることを目的としています.

 この講座では、データサイエンスに関わるPythonの基礎知識がJupyterlabで学習できるようになっています。初学者がつまづく環境設定(僕も同じくほぼ環境設定で挫折しているプロジェクトばかり)の部分を、Dockerで実施することで同環境をつくれる、しかもDocker入門講座もある超親切設計です。いやー、Dockerインストールしたまま放置だったのでこの機会に勉強できました。実際にやっているところはこんな感じです。

f:id:jastaway03:20210509064715p:plain
jupyter labを開いているところ

勉強になった点

基礎の基礎から勉強し直せた

 本講座は「Pythonでデータサイエンスに必要なデータ処理をするためのツール・ライブラリ・モジュールの使い方の基本をマスターする」ためのものであることが特徴です。そのため、NumpyやPandasなどの基本のライブラリの復習でもデータサイエンスの現場で頻繁に使われている内容に絞って教えてくれます。

 なので、非常に実践的です。  勉強を進めるにつれて、データサイエンスの現場で実際に使われているコードに近づいていき、一連のデータ処理方法につながっていきます。後半になるにつれて、「ああ、このライブラリはこう使うのか」「この関数はここで役に立つのね」とデータサイエンスに関連づけて学習することができます。伏線がしっかり引かれている物語のようにまとまっていますので、最初の基礎的な内容を知っている人でも、一通り読んでいくことでデータサイエンスの実践をイメージしやすいのではないでしょうか?僕にとっては、曖昧だった部分や知らなかった部分をやり直しできたのでとてもよかったです。

環境構築で(そんなに)つまづかずに済んだ

 Dockerで環境構築して進めることで、入門講座にありがちな「環境の違いでコードが動かずに詰む」といったことが全くありませんでした。途中Dockerの設定に影響を受ける所が1つありましたが(OpenCVのところ)、フォローもしっかり入っていたのでやりやすかったです。  後半はpyファイルを使ってモジュールを動かすことにも踏み込んでおり、僕のような初学者が陥りがちなGoogle colabでは動かせるけど実装はどうしていいかよく分からない人たちのステップとしても最適です。

つまづいた点

Docker が分からない

Dockerを使ったjupyter Labの使い方が最初からよく分からなかったので、先にDocker 入門を受講しました。 Docker超入門①〜Dockerってなに?〜【初心者向け】

それでもDocker まだよく分かってないですが、言われた通りに作業するぐらいのことはできるようになりました。DockerはGitと並んで勉強しないとなあと思っていたので、入門編ですが勉強できてよかったです。

Docker imageにopencvを入れる

かめさんのエントリにあった方法では動かなかったので、リンク先のコードを入れて動かしました。Docker難しい、分かったようでわからない汗

OpenCVをPythonで動かそうとしてlibGL.soが無いって言われたけど解決した。 - Qiita

Jupyter labのmoduleの更新がうまくいかない

pyファイルを使ってmoduleを呼び出すときにハマったのが、「no attribute」というやつです。pyファイルを編集してctrl+Sで保存しても変更を反映してくれません。これでmodule管理でやられていました。 Jupyter lab 上でモジュールを一度インポートで呼び出すと、再度インポートしてもモジュールの変更を読み込んでくれません。 下記リンクのimportlibを使ってリロードすることでこれは解決できました。 Python - jupyterでモジュールの更新が上手くいきません|teratail

裏でTwitterの自動分析を作っているのですが、そっちでも同じ問題でハマっていたので抜け出せて良かったです。 ・・・と思ったらそれに関してもマジックコードで対策を打たれていました。困難どこで見つけられるの?(僕はハマったところで小一時間Google を彷徨っていました。。。)

本講座をお勧めする人

 本講座の目次にもあるように、データサイエンスの初学者にとってはPythonの超基本をProgateなどで勉強した後にやってみるのは非常に有用だと思います。 途中Kaggle の話も出てくるので、Kaggle入門書を読んでからくるのもお勧めです。僕はKaggleのタイタニックはやっていたので、なんのためのデータ処理なのか納得感が高かったです。グラフでデータ比較するところとか、そうそうそれが自分でしたかったんだよとうなづきながらやっていました。 www.taketoketa.com

最後に

これまでコピペで動かしていた機械学習のコードも、何をやろうとしているのか分かりやすくなりました。この調子で次の勉強を進めていこうと思います。 ではでは!