みなさんの中には、
- Pythonに興味があるけど、どうやって学び始めればいいのかが分からない
- Pythonの参考書を購入して一通りやった(あるいは途中で挫折した)。だけど、この先どうやって学習を継続させていけばいいかが分からない
と感じている人も、いるのではないでしょうか?
今回の記事では、Python初学者がKaggleに挑戦すべき3つの理由について書いていきます。
Python初学者がKaggleに挑戦すべき3つの理由
1.KaggleはPythonの基礎ではなく実践を学べる場
Python初学者がKaggleに挑戦すべき一つ目の理由は、KaggleはPythonの基礎を学ぶ場ではなく、Pythonで実現できることをより実戦形式で学べる場であるからです。
Pythonはプログラミング言語のひとつです。そのため、初学者はPythonの文法を含めた基礎を学ぶ必要があります。そして、Pythonの基礎を学ぶ手段として、参考書を購入するであったり、プログラミングスクールに通うなどの選択肢があります。
しかし、これらは「Pythonというプログラミング言語を体系的に学ぶ」という観点で用意されているものが多いため、Pythonの基礎を章立てて学んでいく形式のものが多いです。この「基礎を章立てて学ぶ」ということを中学英語の教材で例えると、自己紹介の表現を学びながらI am~, You are~などの一人称とbe動詞を学び、質問の仕方の表現を学びながらIs this~などの疑問形を学んでいく形式と同じです。
この学習形式は、一人称やbe動詞、疑問形などの基礎を学ぶことが「目的」であり、そのために自己紹介や質問の仕方などの表現が「手段」として用意されていると言えます。本来、自己紹介することが「目的」であるのに、一人称やbe動詞などの単語や文法を覚えることが「目的」となっています。基礎となる「手段」を体系的に学んでいくことは重要ですが、
このような学び方の弊害として、高校数学で学ぶsinΘ,conΘ,tanΘが世の中の何に使われているかが分からない大人がたくさんいることも、また事実です。
また、Pythonの参考書を用いた学習の場合でも、四則演算や文字列の表示から始まり、Pythonで用いられるpandasやNumPyなどのライブラリの使い方などに繋がっていくものが多いかと思います。しかし、Pythonを学ぼうと考え、行動を起こした方は、Pythonで四則演算をしたいわけでもなく、pandasやNumPyなどのライブラリそのものを学びたいわけではありません。Pythonで実現できるだろう数々のことに興味があり学ぼうとしているのだと思います。
一方で、Kaggleには世界中から分析テーマが集まっております。そして、各分析テーマに対してどのようなアプローチで解くかの答えは用意されておらず、その解き方は各人に委ねられております。このように、Kaggleの世界では、解くべき分析テーマを分析することが最大の「目的」であり、そのためにpandasやNumPyなどのライブラリや、あるいはPythonそれ自身も「手段」のひとつとなっております。
このように、参考書やプログラミングスクールとKaggleとの間には、「目的」のために分析を行うということと、「手段」であるPythonやそのライブラリの使い方を学ぶこと、という前提の違いがあります。そして、初学者が学習をしていく視点で考えた場合でも、「目的」は分析テーマを解くこと、そのための「手段」を探したり考えたりしながら学び進めることのできるKaggleには多くのメリットがあると言えるのではないでしょうか。
2.分析テーマと分析データがそろっている
Python初学者がKaggleに挑戦すべき二つ目の理由は、Kaggleでは豊富な分析テーマ&分析データが提供されているためです。
参考書やプログラミングスクールでも、分析テーマやそれに付随する分析データは提供されております。しかし、ひとつの分析手法に対して、一つ、あるいは二つ程度のデータセットしか提供されないのが通常です。
そのため、あなたが学んだ分析手法を別の分析テーマでやってみたいと考えた場合や、より応用的な分析に挑戦してみたいと考えた場合、自分自身でデータセットを集めてくる必要があります。
当然、データサイエンスの分野において必要となるデータセットを集められるスキルも重要です。しかし、Python初学者にとって、自らデータを集めることは、学習効率を下げてしまう要因となることも事実です。
Python初学者にとって、実際の分析により多くの時間を割ける学習環境であるということは重要です。そのため、分析テーマ&分析データが数多く揃っているKaggleを活用することは、メリットがあると言えるのではないでしょうか。
3.世界中のデータサイエンティストの技を盗める
Python初学者がKaggleに挑戦すべき三つ目の理由は、Kaggleでは世界中のデータサイエンティストの技(分析アプローチ)を盗めるためです。
Python初学者の場合、分析テーマが与えられたとしても、どのように分析していけば良いのかが分からず無駄に時間を費やしてしまう場合があります。参考書であれば、模範解答が用意されており、プログラミングスクールであれば模範解答だけでなく講師が助けてくれます。
しかし、これらは模範解答にある代表的な分析メソッドを示してくれているだけで、解くべき分析テーマに対して、必ずしもベストな分析アプローチではない可能性があります。言い換えると、学んだ分析アプローチの善し悪しが分からないままとなってしまいます。
一方、Kaggleでは、それぞれの分析テーマに対して世界中のデータサインティストの分析アプローチが公開されております。そのため、初学者は、世界中のデータサイエンティストの分析アプローチを盗み学ぶことができます。そして、各分析アプローチの善し悪しを比較することも出来るため、それら使い分けの勘所も身につくようになります。
インターネット上からあらゆる情報が入手できる現代において、データサイエンティストの技も、例外なく、容易に入手できます。世界中のデータサイエンティストの先輩方の知恵を活用しない手はないのではないでしょうか。
これらすべてが無償で手に入る
ここまでPython初学者がKaggleに挑戦すべき3つの理由を書きましたが、そんなKaggleは無償でアカウントを作ることができます。さらにブラウザ上でコーディングおよび実行可能なNotebook環境までもが提供されております。
Python初学者がやることのひとつに、プログラミング開発環境の導入があります。自身のパソコンにAnaconda等のPython開発環境をインストールをし、不足しているライブラリがあれば、適宜インストールを行うなどの作業です。
開発環境の導入はエンジニアであれば出来て当たり前の行為です。しかし、Pythonも含めプログラミングそのものが初学であるという方にとっては、これら開発環境の導入も多少なりとも障壁のある作業と言えます。
Python初学者は、少しでも多くの時間をPythonに触れ、Pythonで実現できることをどんどん体感していくことがより大事です。そして、Kaggleは開発環境の構築なしで無償ですぐに始めることができます。このように、無償で開発環境まで提供しているKaggleを利用しない手はないのではないでしょうか。
まとめ
今回の記事では、Python初学者がKaggleに挑戦すべき3つの理由を紹介しました。
Kaggleは、いわゆるPythonの基礎ではなくより実践的なデータ分析を学びたい人にとって、様々なテーマ&データが提供され、他のデータサイエンティストの手法も参考にしながら、無償で学ぶことが出来る場と言えます。
Pythonをこれから学ぼうと考えている方、あるいはPythonを学び始めたばかりの初学者の方は、Kaggleアカウントを作成し、Kaggleの世界に飛び込んでみてはいかがでしょうか。
じゃあ。