東京大学松尾研究室 GCIデータサイエンス講座のオンラインテストを受講した話
東京大学松尾研究室 GCIデータサイエンス講座のオンラインテストを受講した学びをまとめました。
(2020/3/15 追記)追記が遅くなりましたが、浜男さんに行列の積、numpy.matmul()をコメント欄にて教えていただきました!
そもそも東京大学松尾研究室 GCIデータサイエンス講座とは
AIで有名な東大松尾研究室にて、2019年12月より、1)東京大学駒場キャンパス在学生、2)一般学生および社会人を対象とした、データサイエンティスト育成講座が開講されます。
大学生、社会人技術者やマーケティング担当者、情報分野以外の研究者等を対象者と想定し設計されていますが、幅広い分野で役に立つ実践的なデータサイエンスを網羅的にカバーしているため、データサイエンスを身に付けたい幅広い層に活用いただけるものとなっているそうです。
なお、募集は12月11日(水)まででした。
事前のオンラインテストのカンニングになりかねない内容を含むため、期間終了まで公表を差し控えさせていただきました。
どんなテスト内容だったか
テストは90分で15問。
pythonのnumpy、および行列の四則演算を使った基礎的な計算がきちんとできるかどうかを問うものでした。
NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する。
もともとPyQやProgate、書籍を通じてpythonをいじって勉強しておりましたが、最近はビジネス理論よりのことばかりやっており、pythonはおろかプログラミングから遠ざかっていたので、カンを取り戻すのに時間を使いましたが、きちんと調べていけば、90分内に完答できる内容でした。
numpyによる配列計算
np.array() 関数による生成
np.array(object, dtype=None)
reshapeによる行列の変換
numpy.reshape(a, newshape, order=’C’)
numpy.diag()で対角成分を抽出
np.diag()の引数にnumpy.ndarrayを指定すると、対角成分が一次元配列として返される。
numpy.diag()で対角行列を生成
np.diag()は引数に一次元配列を指定するとその配列を対角成分とした対角行列が生成される。
したがって、np.diag()を2回繰り返すと、対角行列が作成できる。
対角行列の例
1 0 0
0 2 0
0 0 5
列・行の合計
numpy.sum()
np.sum()に配列ndarrayを渡すと、すべての要素の合計値が返ってくる。
ここで、引数axisに0を渡すと列ごとの合計値、1を渡すと行ごとの合計値が得られる。
NumPy配列ndarrayを分割 split
numpy.split(): 等分割、または、任意の位置で分割
NumPyで条件に応じた処理を行うwhereの使い方
numpy.where(条件、満たす場合の置換、満たさない場合の置換)
np.where(a < 4, ●, a) という処理をすれば、条件を満たした場合のみ置換する
どうしてもわからなかった問題
配列A、BをCにせよ
どなたかわかる方、ご教示くださいませ m(_ _)m
A=np.array([[3, 1, 2],[3, 3, 1],[2, 1, 3]])
B=np.array([[2, 1, 2],[3, 2, 2],[3, 2, 1]])
C=np.array([[15, 9, 10],[18, 11, 13],[16, 10, 9]])
(2020/3/15 追記)追記が遅くなりましたが、浜男さんにコメント欄にて教えていただきました!
行列の積
np.matmul(A,B)
以上になります、最後までお読みいただきありがとうございました。