【初学者向け】Pythonの学習ロードマップ!0から習得するには? 目的別に紹介!

この記事の対象者

・Pythonで何ができるのか知りたい方
・Pythonを使って自身のしたいことを最短ルートで実現したい方
・Python学習の効率的な学習ロードマップが知りたい方

対象ではない方

・普段の業務でPythonを中心に使われている方
・Pythonに興味のない方
・既にPythonでできることを知っている方

Pythonでできること

Pythonでできることは、次のようなことが出来ます。

1. Webスクレイピング
2. 機械学習・ディープラーニング・最適化
3. テキストマイニング
4. データ分析
5. 画像認識・画像処理
6. 業務効率化プログラム
7. Webアプリケーション開発 
8. ネットワーク・サイバーセキュリティプログラミング
9. ゲーム開発
10. Androidアプリ開発
11. デスクトップアプリ制作
12. データベース操作
13. 並列化
14. インフラ構築自動化
15. グラフィックス
16. 非同期処理

『11. デスクトップアプリ制作』以降は他のプログラミング言語でもできる事が多いですが、それらを除いてもPython言語1つで、非常に多くのことができることがわかるかと思います。この記事では主に1~10までに関して記述していきます。

1. Webスクレイピング

Webスクレイピングとは、Web上からデータを取得することができる技術です。

・毎日発信されるAIに関するニュースをスクレピング
・会員制ECサイトに自動的にログインして、そのサイトでの直近の購入履歴を取得する
・求人サイトから必要な情報のみをスクレイピングして、営業リストを自動作成する

これらのことは、Webスクレイピングで実現できます。
PythonでWebスクレイピングするには、seleniumbeautifulSoupといったライブラリを利用します。

関連記事:【初心者向け・保存版】PythonでWebスクレイピングしてみよう!

2. 機械学習

scikit-learnを扱うことで機械学習の主要なアルゴリズムを扱うことが出来ます。
機械学習における必須のライブラリは、NumPy、Pandas、Matplotlib、seaborn、scikit-learnなどがあります。
他にも画像領域ですと、keras、OpenCV、Pillow、テキスト領域ですと、mecabやGensimなども使えるようになると良いです。


3. テキストマイニング

テキストマイニングとは文字列を対象にしたデータマイニングのことで、文章などの大量のテキストデータから言語解析や統計解析などを活用し、『意味のある情報』を取り出すことでテキストデータの分析手法です。

Pythonのライブラリでは、mecabgensimなどを使うと実現できます。

SNSの投稿(Twitterのツイートなど)を分析したり、アンケートの分析が可能です。

関連記事:【テキストマイニング】WordCloud(ワードクラウド)とは

4. データ分析

Pythonでデータ分析をしたい場合は、Pandasというライブラリを使います。
また、matplotlibやseabornというライブラリも合わせて使えるとグラフを描画することもできます。
マーケティング領域では、Pythonを用いることで、相関分析やコホート分析、パレート図やバブルチャートの可視化、回帰分析等の分析手法を適用できます。

関連記事:【初心者向け】独学でデータサイエンティストになるには? 勉強時間や0からのロードマップについて解説!

関連記事:データサイエンティストのスクール・講座14選!社会人におすすめなのは?

5. 画像認識・画像処理

画像認識では、ディープラーニングが扱えるライブラリ(kerasやTensorFlowなど)を使って写真に写っている画像が何かを検出することができます。
AI Academy 画像認識

画像処理をしたい場合は、OpenCVやPillowなどの画像処理ライブラリを使うと実現できます。


6. 業務効率化プログラム

Pythonを使うと、先ほどのスクレイピングを使って、データを自動で収集したり、Excel処理ができたり、たくさんのフォルダを一瞬で作成したり、Twitterのユーザーを自動でフォローしたり、1000人に一括メールを送ったりなど様々なことが出来ます。

7. Webアプリケーション開発

Pythonでは、GradioFlask、Djangoといったライブラリを使うことで、Webアプリケーション開発ができます。

具体的には次のようなことが出来ます。

Djangoを使ったTwitterクローン作成
FlaskとMySQLでToDoアプリを実装しよう
機械学習で花を判定するWebアプリケーションを作ろう!

これら全ては、AI Academy Web開発を元に進めると作ることが出来るようになります。

関連記事:Gradioとは? Pythonで機械学習Webアプリケーションをサクッと作ろう!

関連記事:【Python】Flaskとは?FlaskでWeb開発の基礎を学ぼう!

8. スマートフォンアプリ開発

Pythonでは、QPythonKivyを用いることでAndroidのアプリケーションを開発することが可能です。また、kivy-iosを活用することで、Kivyで作成したアプリをiOS向けに変換することも可能です。

ですが、本格的なAndroidアプリ開発をされる場合は、JavaKotlinを使う方が、ネット上に情報量多かったり、多くのAndroidアプリはJavaで開発されているのでPythonではない方が良かったりします。


9. ゲーム開発

Pythonでゲームを作りたい場合は、PygameKivyTkinterなどのライブラリを活用することで開発できます。

10. ネットワーク・サイバーセキュリティプログラミング

Scapyを使う事で、パケット生成や送受信が可能です。
(セキュリティ脆弱性診断に特化したKali Linux(カーリーリナックス)にはデフォルトでインストールされていたりします。)


学習ロードマップ

ここまでは、Pythonでできることを10選紹介いたしました。この節では、Pythonの目的別学習ロードマップを示します。

次の図で、自身がどれに適しているか確認してみてください。

右向き矢印の名称は各ライブラリ名になります。
ライブラリはpipなどのコマンドを使うことでインストールができます。

まとめ

この記事では、Pythonでできること、Pythonの目的別学習ロードマップについて説明しました。Pythonを習得することで、非常にさまざまな分野で活用できることが理解いただけたのではないでしょうか。この記事がPythonをこれから学ぶ方にとって少しでも参考になりましたら幸いです。


Pythonスキルを効率よく身につけるには

Pythonスキルを効率よく身につけるには質問し放題の環境で学ぶことが大切です。

AI Academy Bootcampなら、6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください!