昨今Python需要が高まり、勉強を始めようと考える人が多くなってきました。
本記事では、Python初心者の私がKaggleというサイトで公開されている講座で完全無料で勉強した方法・感想をご紹介します。
- Python初心者の人
- Pythonを学んでみたいけど、お金をかけたくない人
- 英語に抵抗感がなく学習できる人
KaggleのPython講座の構成は下記の通りです。入門レベルを一通り学習できます。
- Python概要
- 関数定義・使用
- 条件文
- リスト
- 繰り返し処理
- 文字型の処理
- ライブラリ
※2022/2追記
Kaggleのコンペ(後述)に参加するためには、このPython講座を受けるだけでは十分ではありません。
他の講座もあわせて勉強する必要があります。
私は、UdemyにKaggleを始める前提で構成された講座を受け、非常によかったので後半で紹介します。
おすすめの進め方は、Udemyで勉強→実際にKaggleのコンペに参加してみる→Kaggleの講座で新しく必要な知識を得る、です。
手っ取り早く、Kaggleのコンペティションに参加して提出したい方はこちらの記事が参考になります。
Kaggleとは
Kaggleは一般的にデータサイエンス・機械学習モデルのコンペティションを運営しているプラットフォームで、Alphabetが運営しています。
仕組みとしては、企業が解決したい課題を投稿し、その課題をユーザー(またはチーム)が解くというものです。
企業の投稿する課題は最適化問題が大半であるため、ユーザーは機械学習を利用した最適化モデルを投稿することになります。
最適化モデルの精度をユーザー同士で競い合い、特に高い精度を持つモデルを作成したユーザーに対して企業から報酬が支払われます。
Kaggleの講座で勉強するには
本節では、Kaggleで勉強を始めるまでの3ステップを解説します。
1. Kaggleに登録
※登録済みの方はスキップしてください。
まず、Kaggleにアクセスします。
右上に「Register」ボタンがあるので、ここから登録します。
Googleアカウントでもログインできます。
2. Coursesにアクセス
KaggleのCoursesにアクセスします。
画面左のメニューから選ぶことでもアクセスできます。
3. 学びたい講座を選ぶ
Coursesのページをスクロールすると講座がたくさん出てきます。
ここで好きな講座を選んで、学習を始められます。
KaggleでのPython勉強に必要なスキル
Kaggleの講座を受けるうえで、必須のスキルはありません。
ここでは、実際に講座を履修してみて、あると楽だなと思ったスキルを紹介します。
1. 英語への抵抗感のなさ
Kaggleの言語は英語のみです。
DeepLやChromeの拡張機能で大まかな概要を掴むと学習が早く進みます。
しかし、自動翻訳では意味がよくわからない部分は自分で読む必要があるので、英語への抵抗感はない方が良いです。
2. プログラミングの経験
基礎的な知識が説明されている中で、プログラミング言語の専門用語がいくつか出てきます。
単語に対する解説は基本的にありません。
そのため、経験がなければその用語を調べる時間がさらに必要です。
Kaggleで勉強してみた感想
実際にKaggleで勉強してみて、率直に非常に良い講座だと思いました!良いと思った点を4つ紹介します。
環境構築不要で習ってすぐ試せる
書籍の教材でよくありがちな、環境構築をする必要はありません。
Kaggleの講座はNotebookという機能で作成されており、講座と同じページで実際に試すことまでできます。
Web教材では教材に付属のシステムでしかコード実行できないことがあります。
Kaggleでは講座終了後でもNotebook機能を引き続き使うことができます。
演習問題は結果があっていれば正解
Web教材の演習問題では正答例と全く同じコードでないと正解と判定されないことがあります。
実際には、同じ問題でも解法は複数あるものなので、習った通りに書かないと正解判定されないことは少しストレスです。
Kaggleでは出力値が同じであれば、中身が異なっていても正解と判定されます。
英語の勉強になる
講座はすべて英語です。
Python講座の完了の目安時間は5時間とありますが、単語を調べたり意味をかみ砕くために時間がかなり取られてしまい、私は完了までに目安時間の3倍ほどかかりました。
その中でプログラミングを調べる際に必要な単語にたくさん触れることができたので、今後英語で調べなければいけない局面で抵抗なく進められると思いました。
一方でPythonを学ぶために始めたのに英語にばかり時間がかかってしまうデメリットにもなりえます。
その場合、有料ですがUdemyの日本語の講座が結構よかったので、後述します。
Kaggleをもっと使いたくなる
前述の通り、Kaggleは本来コンペ運営団体です。
世界中のユーザーがコンペに参加するため競争率は高いですが、Kaggleでの業績が社内評価に結びつく企業があったり(DeNA)転職や昇進でアピールできるスキルになるなど、社会的にも評価が高いコンペです。
Kaggleにはユーザー同士で成長する文化があり、このコンペで提出されたコードは解説付きで公開されることが多いです。
Pythonの講座を受けておけば、これらの世界的にも優秀なコードが少し理解できるようになり、とても勉強になります。
講座受講後も成長できる機会がこれほどに揃っているプラットフォームはなかなかないので、よいプラットフォームに慣れる意味でもKaggleで勉強を始めるメリットはあると感じています。
Kaggleの無料講座とUdemyの有料講座を比較(2022/2追記)
冒頭にも追記しましたが、Kaggleのコンペに参加するには、Pythonの知識だけではなく、機械学習モデルの構築プロセスなど他にも知識が必要です。
Udemyにあった日本語の講座を受けてみたところ、とても良かったので比較して紹介します。
Kaggle | Udemy | |
---|---|---|
価格 | 無料 | \19,800 ただし、頻繁に開催されるセールで\1,500程度まで安くなります。 |
言語 | 英語 | 日本語 |
講座の内容を比較 ()内は学習時間の目安 | Python(5時間) 機械学習入門(3時間) 他、全16講座 | Python(1.5時間) 機械学習入門(50分) Kaggle実践(3時間) |
Kaggleの講座は、様々な種類のコンペに対応できるよう、知識形態は広く深く設定されています。
一方Udemyの講座は、Kaggleを始めるために必要な知識形態が広く浅く設定されています。
途中で挫折しないためにも、Udemyで勉強→実際にKaggleのコンペに参加してみる→Kaggleの講座で新しく必要な知識を得る、流れをお勧めします!
まとめ
本記事では、KaggleでPythonを勉強する方法とその感想を紹介しました。
Kaggleの講座は完成度が高く、Python以外の講座にも期待ができます。
お金をかけずに勉強を始めたい方には、Kaggleが本当におすすめです。
ただし、英語での学習に自信がない場合は、Udemyで有料講座がおすすめです。