どうも。こんにちは。ケミカルエンジニアのこーしです。
本日は、「データサイエンスのためのPython学習方法」について解説します。
私自身、化学工学を専門としており、プログラミングとはまったく縁がありませんでした。
しかし、仕事でデータ解析に携わることが増えており、pythonの勉強を始めることにしました。
手始めに、progateや本で勉強してみましたが、いまいちイメージが湧かず、挫折しそうになりました。
そこで本記事では、「これからpythonの勉強を始めよう」と思っている初心者の方に向けて、「脱初心者」となるためのpythonの学習方法を紹介します。
本記事の内容
・Pythonの学習方法
・学習方法別のメリット・デメリット
・python学習ロードマップ(初心者向け)
データサイエンス全般の勉強方法については、下記記事で詳しく解説しています。
-
【初級編】非IT系のためのデータサイエンス勉強方法
続きを見る
この記事を書いた人
こーし(@mimikousi)
目次
Pythonの学習方法
初心者がPythonを学習する方法には、下記5つの方法があります。
5つの学習方法
- 動画(YouTube、Udemy、ドットインストールなど)
- 本
- ネット検索(公式ドキュメント、ブログ、Kaggle、GitHubなど)
- オンライン学習サイト(progate、Paiza、PyQなど)
- プログラミングスクール
それぞれの学習方法のメリット・デメリットを下記にまとめました。
学習方法別のメリット・デメリット
学習方法 | メリット | デメリット |
①動画(Udemy、YouTube、ドットインストールなど) | 実際に見て理解できる | 情報量が少ない 検索しにくい 視聴に時間がかかる |
②本 | 情報量が多い | 検索しにくい 読みながらコード書きにくい |
③ネット検索(公式ドキュメント、ブログ、Kaggle、GitHubなど) | 無料 検索できる 最新情報やニッチな内容もある |
初心者にはわかりにくい 信憑性にかける(公式ドキュメント以外) |
④オンライン学習サイト(progate、Paiza、PyQなど) | 気軽にコードが書ける 書いて覚えられる カリキュラムが練られている |
実際の環境構築でつまずきやすい 月額費用がかかる |
⑤プログラミングスクール | メンターに質問できる 就職支援がある 補助金がもらえる カリキュラムが練られている |
費用が安くても10万円以上と高額 時間制限がある 受け身思考が癖になる |
冒頭でも述べましたが、プログラミング初心者が"最初から"本やブログ記事で学ぶのはなかなか難しいです。
なぜなら、プログラミングやデータ解析の流れは、実際に見てみないとイメージしにくいからです。
データサイエンティストが実際にデータ解析しているところを見るのが、一番効率の良い勉強方法です。
よって、初心者はまず動画で勉強することをオススメします。
python学習ロードマップ(初心者向け)
プログラミング初心者向けのpython学習ロードマップを下記に示します。
python学習ロードマップ
- 学習する目的を決める(超重要!!)
- 動画で学習する
- 本で学習する
- やりたいことを実装してみる
(KaggleやSIGNATEなどのデータ分析コンペでも可) - ネット検索して学習する
(公式ドキュメントやブログを読んだり、GitHubやKaggleなどで他人のコードを読む) - Qiitaなどに「学んだこと」をアウトプットする
pythonを学習するためのコンテンツは、どんどん増えています。
よって、これから説明するpython学習ロードマップに従って、学習を進めてみて下さい。
1.学習する目的を決める
学習する目的を決めるのは当たり前かもしれませんが、pythonは良い意味でも悪い意味でも「何でもできてしまう」ため、目移りしてしまいます。
例えば、pythonでできることは下記の通りです。
pythonでできること
- データの可視化
- データ解析(統計解析、機械学習、深層学習など)
- Webスクレイピング
- 自動処理
- データベース操作
- Webアプリ
- デスクトップアプリ
など
何でもできてしまうがために、あれこれと手を出してしまい、本当にやりたいことを見失う可能性があります。
(事実私がそうでした。)
何でもできるからと言って、限られた時間で全てをマスターすることは難しいです。
よって、本当に自分がやりたいことに的を絞って学習することをオススメします!
本記事では、「データ解析」に的を絞った学習方法を解説します。
2.動画で学習する
「百聞は一見に如かず」と言います。
まず、データサイエンティストが実際にプログラムを動かしているところを見てみましょう!
特に、プログラミングに慣れていない方は、本で読んだだけではなかなかイメージしづらいはずです。
よって、動画で下記一連の流れを見ていきましょう!
- 環境構築
- コーディング
- データ解析
動画講座では、特にUdemyがオススメです。
YouTubeでも学べますが、クオリティを考えると本気で学ぶならUdemyだと思います。
Udemyオススメポイント
- YouTubeに比べて、クオリティが高い
- 毎月1~2回セールをしており、1500円前後で購入可能(一部セール非対応)
- 30日間の返金保証あり
30日間の返金保証が大きいですね!
気になった講座を片っ端から買えます。
気に入らなかったり、自分に合わなかったら返金してもらいましょう!
オススメのUdemy講座
はじめの一歩を踏み出すためのオススメUdemy講座をご紹介します。
①【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
この講座では、データ分析コンペを通して、データ分析の一連の流れを学習できます!
私自身、この講座を受講するまではpythonの文法ばかり学んでしまい、データ分析の流れがわからずモヤモヤとしていました。
しかも、この講座では演習形式で学ぶことができるので、楽しく勉強できました。
文法を全くやっていない方は、次のUdemy講座か、YouTubeの文法講座でさらっと学んでおきましょう。
②現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
シリコンバレーの現役エンジニアから学べます。
学べる内容
- pythonの基礎
- コードスタイル
- データベースアクセス(SQL)
- データ解析
上記①で紹介した講座よりも実践的な内容になります。
データ解析以外にもPythonを使いたくなったら、受講するのがオススメです。
また、下記の「機械学習 脱ブラックボックス講座」もオススメです。
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
しかし、今ならキカガクの公式サイトに登録するだけで無料で受講できるようになりました。
無料とは思えないほどクオリティも高く、ボリュームも多いのでオススメです。
無料登録はこちら ⇒ キカガク 公式サイト
オススメYouTube講座(無料)
一昔前までは、pythonのYouTube動画はほとんどありませんでした。
しかし、今は動画がどんどん増えており、「脱初心者」レベルならほとんど無料で学べるようになりました。
本格的に勉強するかどうか迷っている方は、まずYouTube動画で勉強することをオススメします。
いまにゅさんは、元々AI人材育成スクールの「キカガク」で講師をしていた方です。
教えるプロですし、Udemy講座も何個か出しているので、安心のクオリティです。
2時間超えの動画も多々あり、まさに有料級ですね。
特に、環境構築と鬼の100本ノックがオススメです。
また、おすすめの再生リストを下記にまとめました。
おすすめ再生リスト
ウマたんは、元資生堂のデータサイエンティストです。
非常にわかりやすい動画をアップしてくれています。
python以外にも統計学の動画もあるので、ぜひチェックしてみて下さい。
おすすめ再生リスト
リクルートでデータ分析をされていた方の動画です。
動画がたくさんあるので、下記おすすめ再生リストだけで相当勉強できると思います。
データ分析をするためには、numpy、pandas、matplotlib、seabornのライブラリだけでもしっかり勉強しておきましょう。
3.本で学習する
動画でpythonの基礎やデータ分析の流れを学んだ後は、本で深掘りしましょう。
本は、動画に比べて情報量が豊富で、手に取って調べやすいため、数冊は手元に置いておくと良いと思います。
ここでは、初心者向けのオススメ本を5冊紹介します。
初心者向けオススメ本
1.独学プログラマー
まさに独学するプログラマー向けの本です。
pythonに限らず、プログラミングをする上で必要な知識を学ぶことができます。
「こういうものがあるのか」と知っているだけでも役に立つので、初心者は一読の価値ありです。
学べる内容
- pythonの基礎
- オブジェクト指向
- 正規表現
- パッケージ管理(pip)
- バージョン管理(Git)
- プログラマーとしての仕事の基礎
この本では、データ分析の一連の流れを学ぶことができます。
学べる内容
- pythonの基礎
- Numpy、Pandasの基礎・応用
- データの読み込み
- データクリーニング(前処理)
- データの可視化
- 時系列データの取り扱い
- データ分析の実例
この本は、2017~2018年に東京大学で実施された講義が元になっています。
pythonの使い方というよりは、pythonを使って「統計解析」するための本です。
学べる内容
- pythonの基礎
- Numpy、Scipy、Pandas、Matplotlibの基礎
- 回帰分析
- 確率統計の基礎
- データ加工処理
- データ可視化
- 機械学習の基礎
- モデル検証方法とチューニング方法
この本を読んで何をやっているのかよくわからなかった場合は、統計学の知識が足りていないと思います。
私自身も統計学の知識不足を痛感し、統計検定に挑戦することにしました。
統計学も勉強しようと考えている方は、下記記事も参考にしてみてください。
【統計検定2級の合格体験談】
-
【初心者向け】統計検定2級の難易度は?【合格体験談】
続きを見る
【統計検定準1級の合格体験談】
-
統計検定準1級(CBT)の難易度を解説!【合格体験談】
続きを見る
【統計学のおすすめ本】
-
【初心者向け】統計学のおすすめ本5選(特徴も解説!)
続きを見る
この本では、タイトルの通りPandasによるデータの前処理を本格的に学ぶことができます。
データの前処理ができないと、データ解析が始まらないので、ここは手を抜かずしっかり勉強しておきましょう。
670ページくらいあります(笑)
データ加工(前処理)して、可視化する技術はしっかり勉強しておきましょう。
この本は、pythonの演習書(100本ノック)です。
腕試しとして取り組んでみて下さい。
100本ノックシリーズは、他にもあります。
余談ですが、
本のデメリットは、「読みながらコードを打ちにくい」というところです。
kindleなら問題ないですが、紙の本だと片手でページを押さえないといけないので、なかなか厄介です。
もし、紙の本で勉強する場合は書見台を購入することをおすすめします。
amazonなら、1500円くらいで買えます。
Reodoeer ブックスタンド 筆記台 書見台 本立て 6段階調整 竹製
4.やりたいことを実装してみる
ここからが本番です。
本やUdemy講座などコンテンツが多いので、基礎を固めようと思えば、いつまでも固め続けることができます。
よって、基礎をざっくり学んだら、次は自分のやりたいことをpythonで実装してみましょう!
具体的にやりたいことがなければ、データ分析コンペのKaggleに挑戦しましょう。
Kaggleについては、下記2冊を読むことをオススメします。
5.ネット検索(ブログ記事など)で学習する
自分のやりたいことを実装してみると、エラーとの戦いになります。
よって、エラーとどうやって向き合うのか、下記の記事を参考にしてみてください。
エラーメッセージの読み方と対処, 検索や質問の原則(Qiita)
また、下記2サイトは必ず押さえておきましょう。
ポイント
公式ドキュメントは、サイト内検索で調べたい単語を入力します。
python.jpは、環境構築に困ったときに参考にしてみてください。
新機能の紹介などもしています。
あとは、自分で「困った内容」や「知りたいこと」を貪欲にGoogle検索して調べてみてください。
動画と本で学んだ後は、情報の真偽を判断する目が養われているはずです。
(中には、情報が古かったり、環境が異なるので全く参考にならない記事もあります。)
個人的に参考になった記事を紹介します。(上げればキリが無いですが。。)
『ガウス過程と機械学習』Pythonのnumpyだけで実装するガウス過程回帰
データ解析のための統計モデリング入門(緑本)の読書メモ(PythonとStanで)
こんな感じで、ネットにはかゆいところに手が届く記事がたくさんありますね。
【追記】
2022年11月30日にとんでもない優良サービスがリリースされました。
それは、Open AI社のChatGPTです!
どんなデータセットを使って、どんなことをやりたいのか、明確に日本語(英語)で文章化できれば、ほとんどのプログラムを作成してくれます。
当然、そのまま使えることは少なくエラーが出ますが、エラー文を追加でコメントしたら、そのエラーを防ぐコードに修正してくれます。
自分で考えたコードが読みにくいと思ったら、リファクタリングもしてくれますし、これからプログラミングに挑戦する方はぜひChatGPTを活用してみてください。
6.Qiitaなどに「学んだこと」をアウトプットする
最後に、学んだ内容をQiitaなどのブログサービスでアウトプットしましょう。
他人に説明しようとすると、半端な理解であった部分が浮き彫りになります。
自分の備忘録にもなるし、他の困っている人の役にも立つはずです。
【参考記事】
まとめ
まとめ
- まずは、学習する目的をしっかり定めよう!
- 初心者は動画で勉強するのがオススメ
- ざっとpythonの基礎を学んだら、「やりたいこと」を実装してみよう!
- 困ったら、公式ドキュメントやChatGPTを活用しよう!
- そして、学んだことを備忘録としてアウトプットしよう!