こんにちは、Pythonエンジニア育成推進協会 顧問理事の寺田です。私は試験の問題策定とコミュニティ連携を行う立場です。
すでにプレスリリースで報告済みですが、7月1日にPython3エンジニア認定データ分析試験の改定が行われました。
データ分析試験は3年ほど前に公開してから非常に多くの人に受験頂いてきましたが、主教材「Pythonによるあたらしいデータ分析の教科書」で紹介されている内容が古くなってきていたため、Pythonやライブラリのバージョンをなるべく新しい内容にして改定したものを昨年の秋に第2版として発刊し、試験にも変更点を対応させることになりました。
そこで今回はPython3エンジニア認定データ分析試験の改定ポイントについてお話したいと思います。
データ分析試験改定ポイント
データ分析試験の目的は、基本的にPythonを利用したデータ分析への最初の一歩と考えています。
そのため、問題の難易度を上げたり、複雑にしたりといったことは現段階では考えておらず、入門編としてPythonを使ったデータ分析者がある一定のレベルまで学習できれば取得できるような内容に設定しています。
今回の改定に際しても、同じコンセプトのまま行っていますので、バージョンが変わったことによる問題の改定は行われていますが、試験のレベル感や出題範囲も基本的には変更されていません。そのため、バージョンが変わったことによるコーディングの記述方法に多少の違いはあっても、基本的に今まで勉強してきたことが無駄になることは全くありません。
もちろん、適用されるPythonやライブラリのバージョンは新しいものになりますので、新しいバージョンに合わせた記述やコーディングの知識は必要になります。そのため、古い本で学習されたからといって合格できないという内容にはなってはいないものの、これから受験される方の場合は第2版で学習された方が確実ではあります。
主教材の改定ポイントについては次でご説明します。
主教材「Pythonによるあたらしいデータ分析の教科書」が改訂、対応バージョンは?
7月1日以降の試験では改定された第2版の内容で問われることになります。
先ほどもお話した通り、基本的に紹介されている内容やそのレベル感に大幅な変更はなく、主な変更点は各ツールのバージョンを新しいものにあげたこと、文法などの説明の仕方を解りやすい形に書き直したことになります。なお、各ツールの対応バージョンは以下の通りとなります。
Python:3.6→3.10
NumPy:1.14→1.22
pandas:0.23→1.4
scikit-learn:0.19→1.1
Matplotlib:2.2→3.5
とはいえ、Pythonに関していえば、Python自体の深い知識を問うている試験ではない上、3.6と3.10では普段使っている人からすると、今まで書いたコードがそのまま動きますし、バージョンを意識してコーディングすることはありませんので、大きな違いというのはあまり感じないと思います。
それ以外のNumPyなどのツールに関してもさほど大きな変更が入っているわけでもありません。メジャーバージョンアップがされているものも中にはありますが、ツール自体の考え方に大きな変化がありませんので、試験の範囲としてはさほど気にしなくてもいいかなと思います。
ただ、新しい書籍を確認せず、変更された箇所を知らずに受験するというのは挑戦的ともいえますので、できれば新しい書籍を手に取って確認して欲しいとも思いますが、かといって、試験の考え方含め、非常に大きな変化があるというものでもありませんので、旧版で学習された方やすでに合格された方もその点については安心していただければと思います。
書籍の変更点とデータ分析試験問題への影響
ではここで改めてデータ分析試験の出題範囲についてお話したいと思います。
主教材のどの章が出題されるのかの詳細はWebで公開されていますので別途ご確認ください。
Python3エンジニア認定データ分析試験|試験概要・出題範囲について
1章:特に変更はありません。読み物として読んで頂ければ十分理解できる内容かと思います。
2章:
1節>基本的なところは変わっていませんが、Python3.10になったことでツールの使い方や実行環境が少しだけ変わっています。ただ初版の時からvenvモジュールを使った環境分離やpipコマンドによるインストールにしていますので、試験への影響度合いはそう大きなものではありません。とはいえ、念のため確認すしておくことをおすすめします。
2節>データ分析の視点で見たときのPythonの基礎は基本的な技術に大きな変更がないため、変わっていません。
3節>初版ではJupyter Notebookでしたが、最近よく利用されるのがJupyter Labになってきたことを鑑みて変更されています。それに伴い、インターフェースや使い方などが変わったため、変更されていますが試験への影響はそう大きなものではありません。
3章:この章は主に高校数学から大学初等レベルの数学に関して書かれていますので、Pythonのバージョンやライブラリに依存しない項目です。そのため、基本的な概念は変わっていません。
数学を大学受験が目的として取ってない人にとってここで書かれている基礎は難しいと思いますが、データ分析をする上で最低限知っていて欲しいことをコンパクトにまとめています。大学受験におけるテクニックではなく概念を知っておくことで、データエンジニアとして活動するときにチームでの話を理解できるようになっているはずです。
特に線形代数に関してはディープラーニング・AI時代においては重要なポイントとなりますので、ぜひ身に着けて頂ければと思います。
4章:ライブラリに関しては各ツールについて確認し、基本的な使い方を覚えてもらえれば問題ないと思いますが、大きく変えたところがひとつあります。
試験範囲に含まれている可能性があるものの中に、NumPyの乱数生成に関するものがあり、ここが大きく変更されています。
この変更に関してはP.107にも説明を記載していますが、今回の改定で旧式のレガシージェネレーターから新式のランダムジェネレーターに変更されています。これに伴い、すべてのサンプルを新方式に書き換えています。記述方法が変わっていますので、初版で学習される方はご注意ください。
数学に関して
実は線形代数は高校の学習範囲からなくなっているのですが、実のところディープラーニングやAIの世界では線形代数が使われています。
線形代数を知らなくてもPythonは使えますが、より深くデータ分析を知るためには線形代数の知識が非常に役立ちます。
書籍内で触れられている線形代数はさほど難しくない基本の基本ですが、昨今の高校数学教育という視点から見ると、平成に入る前後あたりの頃に行われていた2行2列までのかけ算を代数・幾何で行われていたことを考えれば、昨今の高校数学のレベルを超えていると言えます。
ですが、ディープラーニング・AI時代において、線形代数は非常に重要であるため、確実に出題します。
書籍では記号の読み方も丁寧に書かれていますので、ぜひ学習しなおしてみてください。
数学を重視し、勉強していない人が合格しにくくしている理由はもちろんあります。
もし今後、データエンジニアとして活動したいと考えた場合、チームを組んでやることが多くなります。その際、数字に対する考え方が平均値や中央値にするかなど、数学の世界が最終的に必要になってくるため、チーム内で数学的な正しさをどこまで求めるかをディスカッションする場面が必ず出てきます。
この時に会話に入れない人はデータ分析エンジニアとして活躍することは非常に難しくなってしまうからこそ、データ分析における数学を重視する必要が出てきます。
この試験での数学の考え方としては、数式をすべて覚えることが大事というより、「忘れたけど何だっけ」と聞いたり、調べたりしたときにすぐに理解できるような下地をつくることにあります。
数式は厳密に表したいと考えたときに、短く表すことができるのが特徴です。
厳密に表してくださいと言ったときに、算術平均値として、どういう件数でどういう形で計算したものかを式で書くことによって厳密性を持った簡潔な形に表すことができます。データ分析統計において、正確なことが必要になりますが、数学の式で表すことで可能となるからこそ用いられています。忘れてしまうことはもちろんありますので、正確性を求めたときに学びなおしに戻ってくればいと考えています。
私自身、機械学習やディープラーニングをするときに、数式の理解が不要な時には読み飛ばしますが、必要になったときに式を見返すことがあります。
数学で表される式に対してわかりにくいと感じることはもちろんありますが、そうした時は読まず、知りたいことに辿りつくために本当に必要になったときに概念や考え方を詳しく知っていけばいいと思います。
ちなみに、数学の式が読みにくいと思う理由は、数学の式自体に考えてきたステップが含まれておらず、熟考した結果が数式としてあらわされているからだと思います。つまるところ、数式を理解するにはステップなし行うのは難しいものです。
これはプログラミングにおいても同じです。
それがどんなプログラムなのかをパッと見て必ず理解できるかといえば、最適化前のコードであれば流れがあるはずなので分かりやすいのですが、最適化されたコードの場合は説明がないと理解しにくいと思います。
プログラムの中に記号が入るとさらに読みにくくなります。記号自体は便利なものですが、ガッツリ読む必要はありません。ただ、その意味は知っておいた方が良いと思いますし、それを理解しておかないとデータ分析の世界では難しいですし、試験でも点は得られないように出題されます。
書籍ではデータ分析の仕事をするときに知っておきたいことを載せています。基礎解析や線形代数、微分積分などが含まれており、高校数学でも学べない範囲ではありますので、簡単に学べないのは確かにその通りです。
数学における概念を知るためにも、ぜひじっくり学んでみてください。
さいごに
主教材の変更に関していえば、ここで挙げた以外に細かい部分での変更はありますが、基本的に大きな変更はしていません。そのため、初版で学習された方たちがこれまで学習してきたことが無駄になることはありません。ただ、できれば第2版を一読してもらえれば、より知識が深まると思いますので機会があればぜひ読んでみてください。
今回の改定は7月1日から受験される方に適用されています。
いまは過去に比べ、より学習しやすい環境、書籍になっています。安心して試験を受けてほしいと考えています。
<お知らせ>
本件に関して動画が公開されています。データ分析試験の受験勉強を始める前にご覧ください。