Pythonを学ぼうとしている方のなかには、下記のような悩みがある方も多いのではないでしょうか。
- なにをどこまで学べばいい?
- どんな学習方法がある?
今回は、プログラミング未経験からPythonでデータ分析ができるようになるまでのロードマップを紹介します。将来的にデータサイエンティストやAIエンジニアになりたい方や、データ分析関係の副業に興味がある方は、ぜひ最後までご覧ください。
- Pythonを実装できる環境のつくり方
- Pythonの学習方法と各方法でおすすめの教材
- プログラミングの入門~Pythonの基礎・応用・実践で学ぶべきこと
Python習得のロードマップ!ゼロからデータ分析ができるようになるまで
完全プログラミング未経験から、Pythonでデータ分析ができるようになるまでのロードマップは下記のとおりです!
- STEP1:Pythonを動かすためのツールを用意する
- STEP2:学習方法を決める(学習サイト・参考書・スクール)
- STEP3:【Python入門】プログラミングの基本を習得する
- STEP4:【Python基礎】基本ライブラリの「Pandas・NumPy・Seaborn」を使えるようにする
- STEP5:【Python応用】機械学習ライブラリの「scikit-learn」を使えるようにする
- STEP6:【Python実践】データ分析コンペにたくさん挑戦する
まず、学習環境として「実行ツールと学習方法」を用意し、Pythonの入門・基礎・応用・実践と学習を進めていく流れです。各ステップでは取り組み時間目安と、到達目標もまとめました。
早速、順番に見ていきましょう!
STEP1:Pythonを動かすためのツールを用意する
- 取り組み時間目安:1時間程度
- 目標:実行ツール上で「HelloWorld」を表示してみる(プログラムを動かす)
Pythonを始めるためには、まず動かすための環境が必要です。プログラミングにおいて、環境とは実行ツールのことを指します。Python用の実行ツールは、下記の2つがおすすめです。
実行ツール名 | 特徴 | おすすめな人 |
---|---|---|
Anaconda | 自分のPCで動かせる統合開発環境 | ネットワーク環境に依存せずPythonをしたい人 |
Google Colaboratory | クラウド上の統合開発環境 | 環境構築に時間をかけたくない人 |
どちらも「統合開発環境」と呼ばれるもので、Pythonコードの実行やグラフ表示、エラー解析などプログラミングに必要なツールが一つのツールとして提供されています。
2つの大きな違いは、「クラウド上で使えるか・自分のPC上で使えるか」です。Anacondaは自分のPC上にインストールする形式なので、スマホや別のPCからはアクセスできません。一方でGoogle ColaboratoryはGoogleが提供するクラウドサービスのため、ネット環境がある場合には自分のPC以外からでもアクセスできる一方で、サービス停止中には使えません。
それぞれの実行ツールの特徴を理解したうえで、自分が求める実行環境に近い方を用意しましょう。
Anacondaを用意する場合の手順は、下記のとおりです。
- 公式のダウンロードページから、Anacondaのパッケージをインストール
- ダウンロードしたパッケージを自分のPC上で解凍・実行
- 表示されるポップアップに従って自分のPC上にインストール
詳しいインストール手順は、下記を参考にしてください。
一方でGoogle Colaboratoryは、ダウンロードやインストールをせずに、公式サイトをクリックすればすぐに実行環境を使えます。Googleアカウントを登録後、下記画像の青いボタン「ノートブックを新規作成」をクリックすれば、すぐにコード入力ができるエディタが表示されます。
詳しい使い方は、下記で解説しています。
STEP2:学習方法を決める(学習サイト・参考書・スクール)
- 取り組み時間目安:3日〜1週間程度
- 目標:自分が楽しいと思える学習方法を見つける
Pythonは、学習サイトや参考書、プログラミングスクールなど様々な方法で学べます。独学の場合には、無料学習サイトと参考書がおすすめです。一方で独学が不安な場合には、Pythonが学べるプログラミングスクールで習得を目指すのも一つの方法です。
どの方法を選ぶにしても、「自分が学びたい内容が学べるか」をよくチェックするようにしましょう。Pythonは機械学習やアプリ制作などさまざまなことができるプログラミング言語であるため、教材によって学べる内容が限定されていることが多いからです。
また、教材を選ぶ際には、「Pythonのコード例があること」と「練習問題とその解説がたくさんあること」を確認しましょう。コード例があれば、写経で正しい書き方を学べます。練習問題は学んだ内容が身についているかを自分でチェックするのに役立ちます。
以下では、「学習サイト・参考書・スクール」の3つの学習方法で学ぶメリットやおすすめな人を解説します。
お金をかけたくない人には「学習サイト」がおすすめ
低予算でPythonを学びたい人には、「学習サイト」がおすすめです!学習サイトではスクールのように講師の人件費がかからないため、無料で学べたり、有料の場合でも月額1,000円程度しかかからなかったりとお得に学べます。
また、学習サイトでは、学ぶべき内容が取捨選択されている点もメリットです。例えば、当社blogの「0から学ぶ【Python基礎】」では、Pythonの基礎内容のなかでも使う頻度が高い条件文や関数の使い方を学べるようになっています。
そのため他の学習方法と比べて、効率よく基礎や特定の分野を学べます。
おすすめの学習サイトは下記の2サイトです。
学習サイト名 | 特徴 | おすすめな人 |
---|---|---|
Tech Teacher blog | 全12章完全無料 Pythonの基礎を学べる |
お金をかけずにPythonの基本を習得したい人 |
Progate | 一部有料 スマホでも学べる 開発環境がいらない |
ゲーム感覚で気軽に学びたい人 |
Tech Teacher blogは、コード例付きの解説を読み進めたあとに、解説内容を踏まえた練習問題に取り組む仕組みです。
インプットした内容をすぐにアウトプットできるため、学習内容を確実に身につけられる点が魅力です。また無料の学習サイトなので、お金をかけずにPythonを学べるので、気軽に始められるメリットがあります。学びやすいプログラミング言語かどうかを確かめるために、とりあえず「Pythonとは何か?」を知りたい方にもおすすめです。
一方でProgateは、イラスト付きのスライドを読み進め、練習問題に取り組む形式です。ポップなイラストでゲーム感覚で学べるのが特徴です。ただし一部有料コンテンツなので、利用する際はどこまで学べるか確認しましょう。
Pythonを学習サイトやアプリで勉強したい方は、下記もご覧ください。
じっくり独学する時間がある人には「参考書」がおすすめ
じっくり独学のための時間を取れる人には、「参考書」を使う独学方法がおすすめです。参考書では、特定の分野に特化した内容が1,000ページ以上解説されている本もあり、深く学べるメリットがあります。
おすすめの参考書は下記の2冊です。
参考書名 | 特徴 | おすすめな人 |
---|---|---|
Pythonによるあたらしいデータ分析の教科書 第2版 | Pythonライブラリの「NumPy・Pandas・Matplotlib・scikit-learn」の基本を学べる 線形代数や確率統計などの数学の基礎も解説 |
Pythonの基本ライブラリを習得したい人 データ分析モデルの数学的な背景を理解したい人 |
Python 実践データ分析 100本ノック | 画像処理・機械学習・自然言語処理の3分野におけるデータ分析の練習問題を複数掲載 | 現場に近いデータを使って、ライブラリの応用スキルを身につけたい人 |
どちらの本もライブラリの使い方を深く学べる内容なので、学習サイトでプログラミングの入門・基本を押さえたあとに活用すると良いでしょう。
参考書でPythonを学びたい方は、下記もご覧ください。
講師のサポート付きで学びたい人には「Pythonスクール」がおすすめ
講師のサポート付きで学びたい人には、「Pythonスクール」が最適です。スクールの大きなメリットは、講師に直接質問ができることです。独学だとわからないことやエラーの内容を聞ける手段が限られているため、学習が思ったように進まず挫折してしまうケースも少なくありません。
がっちりカリキュラムや授業時間が固定されている通学スクールに抵抗がある場合には、家庭教師型のスクールがおすすめです。家庭教師型のスクールでは、カリキュラムを自分で学びたい内容で指定できて、授業時間も本業やプライベートの都合に合わせられます。そのため必要なPythonの知識だけをインプットできるうえに、仕事の都合もつきやすいので、通学スクールよりも続けやすいでしょう。
データサイエンティストになりたい方におすすめのPythonスクールは、下記の2つです。
スクール名 | 特徴 | おすすめな人 |
---|---|---|
Tech Teacher | 家庭教師型スクール データ分析に精通した学生・社会人講師からマンツーマンで指導してもらえる カリキュラム自由 |
Pythonで学びたい内容が決まっている人 本業と両立しながらPythonを学びたい人 |
DataMix | 授業日固定のオンラインスクール データサイエンティストとして実務経験がある講師がいる カリキュラム固定 |
半年程度スクールを優先できる時間がある人 |
学び方やカリキュラムに違いはありますが、どちらもデータ分析に関する内容を学べるためおすすめといえます。
それぞれ無料体験が可能なので、「自分が学びたいことを教えてもらえるか」「本業との都合がつきやすいか」などを比較して選ぶと良いでしょう。
なお、スクールでPythonを習得したい方は、下記も参考にしてみてくださいね。
STEP3:【Python入門】プログラミングの基本を習得する
- 取り組み時間目安:50時間程度
- 目標:Pythonやプログラミングの基本知識と書き方を習得する
- Python入門のおすすめ手順:
- プログラミングでできることを知る
- Python独自の書き方を学ぶ
- 実際にサンプルコードを動かしてみる(写経プログラミング)
学習方法が決まったら、早速Pythonを学び始めましょう!Python入門では、「Pythonとは?プログラミングとは?」など、Python関連の知識のインプットを重視してください。
学ぶ手順は、Pythonやプログラミングの基本に関する知識が理解できてから、Pythonで実際にプログラムを動かしていく流れがおすすめです。
例えば、条件分岐を学ぶ場合には、まず知識として「ifとはなにか・どのような書き方の種類があるか・どうやって使うのか」をインプットしましょう。プログラミングをする際に、知識が定着しているとスムーズに実装する内容が思い浮かぶためです。
また、プログラムを動かす段階では、はじめから何も見ずに書いてみるのではなく、サンプルコードを写経することをおすすめします。写経プログラミングにより、正しい書き方をインプットできるためです。
書き方を覚えたら写経プログラミングを卒業し、何も見ずに練習問題の内容を実装してみると良いでしょう。
なお、Pythonの入門習得にはTech Teacher blogの0から学ぶ【Python基礎】がおすすめです!無料で全章試せるので、ぜひチェックしてみてください。
STEP4:【Python基礎】基本ライブラリの「Pandas・NumPy・Seaborn」を使えるようにする
- 取り組み時間目安:100時間程度
- 目標:Pythonの基本ライブラリの知識と使い方を習得する
- Pandasでデータの加工
- NumPyで自由にデータを取り出したり加工したりできるようにする
- Seabornで見やすく適切なグラフを作る
- Python基礎のおすすめ手順:
- 各ライブラリでできることを知る
- 実際にコードを動かして結果を確認する
次に、Pythonの基本的なライブラリを習得しましょう!ライブラリとは、機能が一つにまとまった関数の集合です。Excelの場合は合計関数の「SUM」とカウント関数の「COUNTA」は独立している一方で、Pythonでは「np.sum」「np.count_nonzero()」といったように数式関数はライブラリの「np(NumPy)」に属しています。
そのためPythonでプログラミングをするうえでは、「どのライブラリにどのような関数があるか」を理解することが重要です。
Pythonでデータ分析を行う際には、下記3つのライブラリがよく使われます。
ライブラリ | 特徴 |
Pandas | データ分析用ライブラリ DataFrameというデータ分析に適した構造でデータを扱えるため、データ分析の際に非常によく使われる。 |
Numpy | 数値計算用ライブラリ 行列計算を高速で実施してくれる。 |
Matplotlib | グラフ表現のためのライブラリ データを可視化してくれる。 |
データ分析を行ううえでは、それぞれを適切なシーンで使いこなせる必要があります。それぞれの違いを理解したうえで、実際にサンプルコードを動かしてみると良いでしょう。
なお、Pythonのライブラリ習得にはTech Teacher blogのPythonライブラリ講座がおすすめです!随時更新しているので、チェックしてみてくださいね。
STEP5:【Python応用】機械学習ライブラリの「scikit-learn」を使えるようにする
- 取り組み時間目安:300時間程度
- 目標:機械学習関連の数学の理解と機械学習ライブラリを使えるようにする
- 統計モデルの理解
- scikit-learnの関数の使い方を習得
- Python応用のおすすめ手順:
- データ分析・統計モデルの種類やできること、利用シーンを知る
- scikit-learnの関数をひと通り使ってみる
- 練習問題でscikit-learnの使い方を学ぶ
続いて、データ分析でよく使われるライブラリの「scikit-learn」を使えるようにしましょう!
scikit-learnとは、データ分析で使える統計モデルの関数が用意されている機械学習ライブラリです。scikit-learnでは、データ分析の練習に使える「時系列・画像のトイデータセット」や重回帰モデルやサポートベクターマシンなどの「機械学習のモデル関数」など、データ分析で活用できる機能や関数が豊富です。
scikit-learnを使えるようになれば、データの前準備から機械学習モデル・統計モデルを使ったデータ分析、データの評価まで簡単にできるようになります。
またデータ分析に関する知識がない場合には、まず「データ分析とは何か?どのようなシーンでどのモデルが適しているか?」など、データ分析に関する理解を深めることを優先しましょう。データ分析の理論を理解しておくことで、scikit-learnの機械学習モデルの理解が進み適切なシーンで使えるようになるからです。
なお、初めてデータ分析の理論を学ぶ方は、0から学ぶ確率・統計講座を参考にしてみてくださいね!
STEP6:【Python実践】データ分析コンペにたくさん挑戦する
- 取り組み時間目安:500時間以上
- 目標:データサイエンティストに必要なスキルを磨く
- データの加工方法をマスターする
- 適切なデータ分析手法を使えるようにする
- データの可視化をマスターする
- Python実践のおすすめ手順:
- データ分析コンペの練習問題を解いてみる
- 開催されているコンペに参加してみる
- データサイエンティストやAIエンジニアとディスカッションをしてみる
scikit-learnがある程度使えるようになれば、データ分析コンペに挑戦してみましょう!
データ分析コンペとは、企業や団体が持つ実データを使ってデータ分析の精度を競うコンテストのことです。知識やスキルのアウトプットの場としての価値はもちろんのこと、同じデータサイエンティストを目指す方と知り合えたり、賞金や特典などでモチベーションを維持できるメリットがあります。
例えば、日本産のデータ分析コンペである「SIGNATE」では、下記のような課題が提供されています。
引用:Competition|SIGNATE
金融業界や医療業界、インフラ業界など、幅広い企業のデータ分析の課題が提供されています。データ分析コンペでは、欠損があって整理されていない実データを使ってデータ分析を行うので、現場で必要なデータ分析力が身につきます。
Pythonの実力を図るために、おすすめのコンペは下記の2つです。
データ分析コンペ名 | 特徴 | おすすめな人 |
---|---|---|
SIGNATE | 日本企業のデータを扱える スキルアップのための練習問題もある(一部有料) |
馴染みのある日本企業や団体の問題に取り組んでみたい人 |
Kaggle | 世界中のデータサイエンティストと競える 賞金金額高め すべて英語 |
海外のデータサイエンティストと競ってみたい人 |
Kaggleに挑戦するハードルが高く感じる場合には、SIGNATEの練習問題でデータ分析の場数を踏むことをおすすめします。慣れてきたら難易度の高い課題に挑戦してみたり、現役のデータサイエンティストとコードの内容についてディスカッションしてみたり、データ分析コンペを最大限に活用しましょう!
なお、Kaggleに興味がある方は下記をチェックしてみてください。データ分析コンペ初心者向けに、活用のコツを詳しく解説しています。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
プログラミング未経験から、Pythonでデータ分析ができるようになるまでのロードマップは下記のとおりです。
- STEP1:Pythonを動かすためのツールを用意する
- STEP2:学習方法を決める(学習サイト・参考書・スクール)
- STEP3:【Python入門】プログラミングの基本を習得する
- STEP4:【Python基礎】基本ライブラリの「Pandas・NumPy・Seaborn」を使えるようにする
- STEP5:【Python応用】機械学習ライブラリの「scikit-learn」を使えるようにする
- STEP6:【Python実践】データ分析コンペにたくさん挑戦する
また、独学に不安がある方は、データ分析に精通した家庭教師からマンツーマンで指導を行うTech Teacherにぜひお問い合わせください!Pythonの疑問点やエラーの解決をサポートをオーダーメイドで解決いたします!