はじめに
自粛期間をきっかけにPythonを独学で取り組み始めた初心者が、なんとなくPythonを理解するまでに取り組んだことについてまとめてみました。
その中でも特によかったと感じているものがタイトルにもある通り、KaggleのCoursesなのですが、やってみた人の感想が(少なくとも日本語では)ほとんど見当たりませんでした。
そのため、今後初めてPythonからプログラミングを始める人の参考となればと思い、どのようなものか体験を交えて紹介したいと思います。
Kaggleとは?
私を含む本当に初心者の方はKaggleとは何ぞやから始まると思います。
Kaggleは与えられたデータに対する予測モデルを作成し、そのモデルの出来を競い合うコンペティションが行われているサイトです。
そちらについての詳しい解説は検索すれば既にコンペに参加されている方々の記事がたくさん出てくると思うのでそちらに譲りたいと思いますが、ようは機械学習やデータ分析をやっている現役の方々が大勢いて、切磋琢磨しているサイトです(私の理解では)。
こう聞くと「まだまだこれからはじめようとしている段階なのに、そんなサイトに行っても何もわからないし…」と思われるかもしれません。
私も登録だけはしてみたもののそう思って何も行なっていなかったのですが、その中にある「Courses」というカテゴリは初心者にも非常にオススメな内容でした。
少し難点があるとすれば全て英語なことかもしれません。
ただ英語の内容については単語が特有なものが使われている程度で平易な文で書かれているため、今後プログラミングをやっていく上で英語のドキュメントに触れることが完全には避けられない以上、英語の勉強もできると考えて取り組む価値はあると思います。
Coursesは簡単に知識のアウトプットができる
Coursesの何がそんなによかったのかということですが、「簡単に学習のアウトプットができる」という点に尽きます。
しかも無料です。
Coursesは複数の講座に分かれており、プログラミングの基礎(変数の型とは?for文とは?条件分岐とは?)から、Pythonでのデータ加工でよく用いられるPandasの使い方、データの可視化に使われるSeabornといったモジュールまで、幅広く学ぶことができます。
それぞれの講座の中は複数の課題とそれに対する講義ページ(Tutorial)と実践ページ(Exercise)に分かれています。
実際に取り組む際には「講義ページで学んだ内容について、実践ページで自分でコードを書く」というのが基本的な流れになると思います。
実践ページでわからないことがあった場合にもヒントや解答が表示できるようになっているため、一人で勉強を進めることが可能です。
Pythonを勉強するにあたって、インプット自体はたくさんの先人の記事があるためあまり困らないと思いますが、そこで学んだことをどうアウトプットして知識を定着させるか、という部分で困っている方は少なくないのではないでしょうか。
そういった方には特にオススメの内容になっていました。
実際に私は「Python」と「Data Visualization」、「Pandas」のCoursesについて学習を行い、特に「Pandas」にはお世話になりました。
「Pandas」をやってみた感想
こちらを始める前にPandasの公式ドキュメントは確認していました。
といっても全て確認したわけではなく、10 minutes to PandasとGetting Started tutorialsを一読した程度です。
そのあとでいきなりe-statで公開されているようなデータからガンガン自分なりのデータ加工を進められれば良いのかもしれませんが、私はそうではなかったのでCoursesには本当にお世話になりました。
講座全体を通して、pandasのデータ構造であるseriesやdataframeについてから始まり、データごとの集計方法やグループ化、欠損値への対応方法、Dataframe同士の縦結合や横結合まで学習が可能です。
間違っていた場合には講座のページを確認したり、公式ドキュメントや他の人のブログ等を確認することで理解を深めることができました。
一通り終わったところでデータの粗集計をとったり、集計のためのフラグ変数を追加したり、といったことはできるようになりました。
また、こちらを完了したあと、Python実戦データ分析100本ノックという書籍のデータ加工部分に取り組むことでデータ加工のときに使うメソッドや関数に対する理解を深めることができたのでそちらもおすすめです。
「Python」をやってみた感想
「Python」については公式ドキュメントと並行して行うと良いかもしれません。
私は公式ドキュメントを一読し、他の書籍で基本的な操作の練習をしたあとにこちらを始めたのですが、実際にやってみて公式ドキュメントとCoursesの内容で基本的な部分は網羅されているように思いました。
経験豊富な方々には「なんと適当なことを!」と思われてしまうかもしれませんが、変数の型や条件分岐、ループ制御といった部分をざっくりと学ぶにはこれでも良いかなと思います。
趣味でやっている、かつ教えてくれる人も身近にいないという状況なのであれば、完璧を目指して動けなくなるよりも、とにかくまずは自分で動かないコードでもいいから書いてみないといつまでも知識が定着しないように思います。
(ただその場合も冗長なコードにならないようには気をつけるべきだとは思っているので、そこが難しいところではありますが、、、)
「Data Visualization」をやってみた感想
「Data Visualization」については講座ページは大体確認したものの、実践ページは途中でやめています。
「Python」や「Pandas」に比べて、基本的な構文の形は講座を通して共通で、表示したい図に合わせて使うメソッドを変えるだけの印象だったからです。
どの図を表示させたいときにはどのようなメソッドを使えばいいのか、どのようなメソッドがあるのかという点だけ把握しておけばあとは都度調べて実装しているうちに覚えられるのではと思っています。
考えが甘かったらもう一度履修します。
最後に
引き続きCoursesをつかってMachine LearningとFeature Engineeringについて学習し、完了したらまた感想記事を書きたいと思っています。
それにしてもPythonは公式ドキュメントも綺麗にまとまっていますし、たくさんの方が情報を発信されているのでとても勉強しやすいですね。
書籍を買って勉強するのもいいのですが、隙間時間にスマホ等で勉強できる環境はとても恵まれているなぁと感じています。
KaggleのCoursesとあわせて書籍での勉強も並行しているのでそちらもそのうち記事にまとめたいと思います。
コメント