先日のpythonエンジニア認定基礎試験に続き、pythonエンジニア認定データ分析試験についても合格することができたので、対策・勉強法について振り返ります。
pythonエンジニア認定基礎試験の勉強法については過去の以下記事をご覧いただければと思います。
目次
Pythonエンジニア認定データ分析試験とは?
Pythonエンジニア認定データ分析試験とは、一般社団法人Pythonエンジニア人材育成推進協会という団体が実施する民間資格。
pythonエンジニア認定基礎試験が主としてpythonの基本的な文法についての理解を問うものだったのに対して、pythonエンジニア認定データ分析試験では、pythonでのデータ分析に必要となるライブラリ(numpy,pandas,matplotlib,scikit-learn)の使い方やデータ分析の基礎となる線形代数や確率・統計についての理解を問うものとなっている。
※詳細は公式HPを参照
なお、公式HPに出題範囲と割合が明記されている。出題は、「Pythonによるあたらしいデータ分析の教科書」(翔泳社)からの出題となる。
出題範囲とその割合は以下の通り。
章 | 節 | 問題数 | 問題割合 | |
1 | データエンジニアの役割 | 2 | 5.00% | |
2 | Pythonと環境 | |||
1 | 実行環境構築 | 1 | 2.50% | |
2 | Pythonの基礎 | 3 | 7.50% | |
3 | Jupyter Notebook | 1 | 2.50% | |
3 | 数学の基礎 | |||
1 | 数式を読むための基礎知識 | 1 | 2.50% | |
2 | 線形代数 | 2 | 5.00% | |
3 | 基礎解析 | 1 | 2.50% | |
4 | 確率と統計 | 2 | 5.00% | |
4 | ライブラリによる分析実践 | |||
1 | NumPy | 6 | 15.00% | |
2 | pandas | 7 | 17.50% | |
3 | Matplotlib | 6 | 15.00% | |
4 | scikit-learn | 8 | 20.00% | |
5 | 応用: データ収集と加工 | 0 | 0.00% |
なお、私はこれをよく見ずに5章のデータ収集と加工(具体的にはデータ分析の応用としてwebスクレイピング、自然言語処理、画像認識)までガッツリ学習してから範囲外だと気付きました。効率重視で学習する場合はここは範囲外なので見なくても問題無いです。
(個人的にはスクレイピング、NLP、画像認識は、どれも今後分析を行っていく上では必須、かつやっと面白くなってくるところだと思っていますので、やってよかったと思っています。)
(スクレイピングはrequests、beautifulsoup4を使って実施しています。)
最頻出の各ライブラリの使い方について↓(一部抜粋)
ライブラリ以外↓
受験の動機・経緯
もともとpythonエンジニア認定基礎とpythonエンジニア認定データ分析試験の存在は知っていて両方取りたいと思っていたのですが、私がpythonエンジニア認定基礎試験に申し込みをした時点(2020/5)では、まだpythonエンジニア認定データ分析試験はベータ版の試験のみで本試験については準備中となっていたので基礎試験の次は統計検定を取ろうかと考えていました。それが運よくちょうど基礎試験に合格したタイミング(2020/6)でデータ分析試験が開始されていたので、迷わずすぐに申し込みをしました。
個人的にはこれまでに東大松尾研の講義やデータサイエンティスト協会主催の研修、文部科学省主催のデータアントレプレナー 養成プログラムなどに参加しつつ、完全に独学でSIGNATEやKaggleのデータ分析をかじっていた程度でしたので、ちゃんと体系的にpythonの文法を学ぶといったことはしないまま実践にて実装してきたという感じでした。なので、pythonの基本的な文法を問われることの多かったpythonエンジニア認定基礎試験よりは、実際にnumpy、pandas、matplotlib、sklearnなどのライブラリの使い方などを問われるpythonエンジニア認定データ分析試験の方が知っていることも多くスムーズに学習を進めることができたように思います。
とは言えpythonエンジニア認定基礎試験及びpythonエンジニア認定データ分析試験の試験勉強としてpythonの基本的な文法や仮想環境周りで頻出のコマンドなどについて改めて学習することができたのは結果としてとても良かったです。
勉強法・使用した教材/サービス
pythonエンジニア認定は基礎試験もデータ分析試験も出題される教材が明確に決まっていますので、基本的にはこれをしっかりと理解して覚えることができさえすれば充分に合格することができますが、読んで理解できることと試験で回答できること(=アウトプットできるようになること)との間には大きな壁があると思っています。また、個人的な話ですが私自身覚えがよいほうではなく、加えて性格的にも超・慎重派のため、試験勉強ではいつもじっくり着実に進めるといった必ずしも要領が良いとは言えないようなやり方しかできず、さながらゆっくり丁寧にペンキを塗っていくように知識を上塗りしていくような進め方でいつも試験勉強を行っています。今回のpythonエンジニア認定データ分析についても同様で、やりすぎというくらい教材を丁寧に学習したと思います。ですのでとにかく時間を掛けずに合格したいという方には向かないかもしれませんが、逆に言えばこのやり方で学習を進めれば確実に合格できるというやり方になっているかと思いますので参考にしていただければと思います。
1.まずは主教材を一通り読み進め理解していく。このとき特に出題されそうな箇所については抜粋してまとめておき、あとでそれらについて集中的に暗記しやすいようにしました。加えて、コマンドやライブラリの使い方などについては実際に自分でもコーディングをして理解を深めました。
2.主教材について一通りある程度理解・暗記ができたら、あとはひたすら模擬試験での演習にうつります。どうせ忘れていくのでこの時点では7割程度理解・暗記ができていれば演習に入って問題無いです。模擬試験については、認定スクールであるPRIME STUDYとDIVE INTO EXAMで公開されているようです(いずれも会員登録さえすれば無料で利用可能なサービス)。私が受験した当時はまだDIVE INTO EXAMでの公開がなく、PRIME STUDYの模擬試験をひたすら実施していました。
3.模擬試験で間違えた問題や正解したものの暗記が不十分な箇所などについて書き出して、覚え直しの作業を行う。
以降、ひたすら2と3を繰り返して安定して9割近く正解できるようになる。そしてこれをできるだけ試験日にピークになるように調整する。一見すると試験まで十分余裕を持って仕上げることはいいように思えますが、試験日まで日があるところでピークを迎えてしまうと、そこからその状態をキープし続けないといけなくなってしまうので、なるべく試験日直前にピークを迎えられるようにするとよいです。
pythonエンジニア認定データ分析試験の勉強法として書いてきましたが、基本的にはどんな試験対策もこの流れになるかと思います。
少しでも試験対策の参考になれば幸いです。
以上