scipy
ことのあらまし データの標準化は機械学習の前処理としてとても重要です。そして疎行列型データ構造は、スパースなデータを表現するためにはとても適しています。 残念ながら、普通に疎行列型を標準化しようとすると、疎行列性が失せます。考えてみればわか…
はじめに pythonで相関係数を計算する方法はいろいろあります。確認したら、主要ライブラリだけで3つありました。 いろいろあるということは用途によって使い分けられるということなので、淡々と書いていきます。 なお、念のために断っておくと、ここで書い…
はじめに 指数関数って右半分の形だけなら、二次関数になんとなく似ていますよね。二次多項式を持ってくれば近似的にできそうな気ができるので、やってみましょう。 とはだいたい同じようなものじゃないの? という話です。 プログラム pythonのscipyを使い…
t検定の中でもよく使われるのが2群の標本の平均に差異があるかどうかの検定です。t検定はscipyを使うと簡単に実施することができます。その方法を紹介します。
はじめに sklearnのモデルには疎行列を取れるものもたくさんありますが、この場合速度差があったりするのでしょうか。 いろいろなデータとモデルで検証を行ってみました。 目次 はじめに 実験1:digitsを分類させてみる 実験2:多項ナイーブベイズについても…
はじめに RandomizedSearchCVなるものがあるということを知ったので、使ってみます。うまく使うとグリッドサーチよりよい結果を生むかもしれないということです。sklearn.model_selection.RandomizedSearchCV — scikit-learn 0.21.3 documentation グリッド…
はじめに scipy.optimize.curve_fitを使うと曲線あてはめができます。いろいろな関数にフィッティングさせてみて、うまくいくかどうか試してみます。scipy.optimize.curve_fit — SciPy v1.3.0 Reference Guide f(x) = x + a ただの足し算。 import numpy as …
概要 scipyのscipy.optimize.lsq_linearで最小二乗法が使えます。 使い方 最低限必要な引数は、 A いわゆる説明変数です。基本的には(データ数, 次元数)のshapeでいいのですが、バイアス項を入れたければすべて1にした列が要ります。 b いわゆる目的変数です…
はじめに scipyで距離行列を扱うときはscipy.spatial.distanceのpdist, squareformなどを主に使いますが、長年よくわからないままに使っていたので、整理してまとめておきます。 なお、以下のドキュメントを参考にします。 scipy.spatial.distance.pdist — S…
はじめに scipyの階層型クラスタリングを使う機会がありましたが、使い方がわかりづらいと思ったのでまとめておきます。 目次 はじめに 関数がいっぱいある 使い方 linkage fcluster cophenet dendrogram 実践編 データを作る 手法を選ぶ クラスタに分ける …
はじめに 以前、3次元のサンプルデータを内挿してmatplotlibでうまくプロットする方法について記事にしました。xyzの点データを内挿してmeshgridにしmatplotlibでプロットする - 静かなる名辞 この記事では内挿のアルゴリズムをデフォルトのlinearにして使い…
はじめに pythonでmatplotlibを使って作図するとき、三次元のデータでpcolormeshとかcontourでやるような等高線プロットを作りたいんだけど、手持ちのデータはxyzが紐付いた点のバラバラな離散データだけ……ということがままあります。 散布図ならそれでも良…
scipy.statsでは様々な統計用のユーティリティが提供されています。大抵の分布はあるし、パラメータも好きに設定できます。numpyにも充実したrandomモジュールがありますが、こちらは分布に従うデータの生成や、データのサンプリングなどしかできません。「…
データの正規化(標準化)をpandasでもやってみる。 正規化、標準化とは、データを分散1、平均0に変換する操作である。スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({}); 自分で書いてもできるが、scipyの関数を使うと簡単にできる。 >>…
Pythonで、順列(Permutation)と組み合わせ(Combination)がほしくなるときがある。また、順列・組み合わせの数がほしくなることもある。順列・組み合わせそのものはitertoolsで、その数はscipyで出せる。計算方法についてまとめておく。
記事概要 非類似度行列(距離行列)の計算方法について説明する。 計算方法 対象データと使う非類似度 とりあえず、データを5つ作る。irisの先頭5要素を抽出する。 from sklearn.datasets import load_iris iris = load_iris() data = iris.data[:5] 5*5の非…
概要 z得点を計算しようとしたとき、このような警告を見かけることがあります。 RuntimeWarning: invalid value encountered in true_divide これが出た場合、結果にはnanが含まれています。なので後段の分析で落ちたりします。 >>> import numpy as np >>> …
「ライブラリあるやろw」と思ったら、なくて顔面蒼白になった。 しょうがないから調べて実装した。 理論的なもの ちゃんと数式を書いて説明する気概がないので、アバウトに説明する。 適当な二次元正規分布のデータがあるとする。PCAと同じ要領で分散共分散…
情報理論でとてもよく出てくる情報エントロピー。計算するにはどうすれば良いのだろう? 選択肢1:定義どおり作る 定義はとても簡単です。注意するべきことは、入力に0が来たときのパターンを想定しないで作るとmath domain errorが出る(は定義できないから…