斎藤です。「データ分析・機械学習入門」コースに「NumPyデータ処理」をリリースしました。
NumPy
Pythonで、数値計算を効率的に行うためのライブラリです。効率的な数値計算を行うため、ベクトルや行列などを表現できる型付きの多次元配列のサポートをPythonに加えるとともに、それらを操作するための数学関数ライブラリが提供されています。
詳しくはNumPy — Pythonオンライン学習サービス PyQドキュメントも参照してください
NumPyを直接使う機会は少ないかもしれません。しかしNumPyは、pandasを始めとする多くのライブラリで使われています。 Python界の縁の下の力持ちといえるでしょう。
pandasは、NumPyをベースにしているので、使い方が似ている部分があります。 つまり、NumPyを覚えると、pandasも便利に使えるようになります。
今回のリリースでは、以下の4つのパートがあります。それぞれ、紹介します。
- NumPyデータ作成
- NumPyの基本
- NumPyの関数
- 役に立つNumPy
NumPyデータ作成
データの作成方法についての3つのクエストがあります。
NumPyを使おう
NumPyの基本を学びます。
NumPyの多次元配列の作成
NumPyの多次元配列とよばれるオブジェクトのいろいろな作成を学びます。
乱数を使おう
NumPyでは大量の乱数を効率よく生成できます。 ここでは、さまざま分布の乱数の生成方法を学びます。
NumPyの基本
参照方法や、大事なブロードキャストなどの4つのクエストがあります。
いろいろな参照
NumPy特有の便利な参照方法について学びます。この参照方法は、pandasでも使えるので、是非覚えましょう。
ブロードキャスト
NumPyが便利なのが、このブロードキャストという仕組みです。 多次元のブロードキャストは、複雑です。ここでは、どんな状況でも対応できるように、根本的なしくみを学びます。
続ブロードキャスト
ここでは、状況に応じたブロードキャストの便利な使い方を学びます。
NumPyでセル・オートマトン
セル・オートマトンを題材に、NumPyの便利さを体感します。
NumPyの関数
関数を中心に6つのクエストがあります。
ユニバーサル関数
ユニバーサル関数とは何かと計算時間の高速さを学びます。
続ユニバーサル関数
さまざまなユニバーサル関数の使い方を通して、NumPyの理解度を深めます。
その他の関数
NumPyで頻出の関数を学びます。pandasでも同じように使えます。
便利な関数
統計量やソートなどの便利な関数を学びます。
続便利な関数
argで始まる関数を使うと、インデックスを求めることができます。 他にも集合関数や相関係数の計算などを学びます。
行列計算
逆行列や連立一次方程式の計算方法を学びます。 他にも、数学の線形代数で学ぶ固有値などの概念が出てきます。少し難しいですが、「こんなこともできる」くらいに覚えて必要になった時に見直せば良いでしょう。
役に立つNumPy
実践を意識し、2つのクエストを用意しました。
商品をレコメンドしよう
協調フィルタリングを使った「おすすめ商品」を求めます。
ページランクを計算しよう
マルコフ連鎖を使ってwebページの有用性の指標である「ページランク」を求めます。
いかがでしょうか?
NumPyは行列計算がメインのように思われますが、データ分析の道具としても覚えておくべきかと思います。
今回は、基本となる機能や考え方を抜粋し、学習しやすいように作成しました。
これからも、コンテンツを拡充していきたいと思いますので、よろしくお願いします。