keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

numpy

scipy.stats のパラメータ loc と scale について

scipy.stats の各種オブジェクトには locおよびscale というパラメータがあります. これらは結構混乱のもとなので,(自分向けに)まとめてみました. 任意の標準的な分布 があるとき, パラメータ loc=mu, scale=sigma と指定することで, が にしたがうよう…

【numpy】viewとcopy

配列のviewとは、もとの配列と同じデータを指している。 一方、copyは、もとの配列と同じデータのコピーを指している。 つまり、配列aのviewであるvが存在するとして、vの要素を書き換えるとaの値も同時に書き換わる。 しかし、aのcopyであるcの要素を書き換…

NumPyから最高のパフォーマンスを得る方法

この記事の和訳です。 色々間違っている可能性があるのでご注意ください。 NumPyはPythonの科学計算ソフトフェア群の基礎となるものです。 NumPyはndarrayというベクトル計算に最適化された特別なデータ構造を提供します。 このオブジェクトは、科学数値計算…

【Python】ふたつの配列からすべての組み合わせを評価

引数をふたつとる関数f([x,y])が存在するとします(この場合は引数2つではなく、要素数2の配列をひとつ引数にとるのほうが正しいですが・・・)。 たとえば、f([x,y]) = x+y などです。 このfはうまく実装されているので、f([[1,3], [2,4]])とすると(つまり[1+…

numpyのshuffleとpermutationの違い

python - shuffle vs permute numpy - Stack Overflownumpyにはshuffle(x)とpermutation(x)というほぼ同じ機能の関数があります. どちらも,配列をランダムに並び替えますが,違いが2つあります.ひとつは,shuffle(x)は配列をin-placeで並び替えるが,perm…

numpyの1d-arrayを2d-arrayに変換

超基本的だけど毎回微妙にむかつくので整理するためにメモ.numpyはベクトルと行列を分けているので*1,ベクトルの転置が取れなくて困る. n次元ベクトルxは,numpyでは行ベクトルでも列ベクトルでもない.単にn次元ベクトル. だからx.transpose()してもな…

numpyでvstackするかbuilt-inのlistから変換するか

Pythonには,数値計算,特にベクトル行列演算を高速かつ便利におこなう numpyと呼ばれる強烈なライブラリがあります.しかし,numpyのarray (Cの配列のようなものと考えて問題ない)は, ベクトル行列演算をpythonのforループを用いた演算よりも果てしなく高…

scipyでの疎行列(sparse matrix)の扱い

scipyにはsparseという疎行列関連のモジュールがあります. すでに公式のドキュメントが充実していますが, 自分の中の整理も兼ねて日本語でまとめたいと思います.概要:全部で7種類の疎行列型が存在します. csc_matrix: Compressed Sparse Column format …