numpy
楕円形のデータを生成したいと思った。 理論 楕円の式は、基本的に次の定義でいく。 で、が楕円のパラメタである(長半径と短半径)。 よって、適当なスパンでのデータを生成して定義通りxy座標を求めれば良い。簡単そう。 データを生成する観点からは色々な…
行ごと、列ごとに一括で加減乗除する方法をずっと探していた。 こう書くとなんじゃそりゃと思われるかもしれないが、n行m列の行列に対してn次元の縦ベクトルを持ってきて、まとめて計算する感じ。 ずっとやり方がわからなかったのだが、このほど試してみたら…
最終更新:2018-04-02 はじめに スタッキング(stacking)といえば、複数の分類器を組み合わせて強い分類器を作る系の手法である。単なるvotingやsoft votingより強い。 誤解を恐れずにざっくり言ってしまうと、分類器の出力(複数)と真の出力の関係を機械…
「ライブラリあるやろw」と思ったら、なくて顔面蒼白になった。 しょうがないから調べて実装した。 理論的なもの ちゃんと数式を書いて説明する気概がないので、アバウトに説明する。 適当な二次元正規分布のデータがあるとする。PCAと同じ要領で分散共分散…
※注意! この記事の内容も間違ってはいませんが、もっと良さそうな方法を後から見つけました。 こちらの記事も参照してください。【python】複数の選択肢から確率で選ぶ - 静かなる名辞 本文 タイトル通りのものが強化学習の実装で必要になった。 の確率で処…
はじめに numpyで複数の行や列を抜き出して使いたいときがある。たとえば機械学習で特徴ベクトルのデータがあって、変数重要度の高い次元だけ取りたい・・・みたいなシチュエーション。 これには実はやり方があって、簡単にできる。ただし、これを知らないと…
注意 numpy.matrixはnumpy 1.15.0から「もはや非推奨」とされ、将来的に削除されることになっています。numpy.matrix — NumPy v1.15 Manual Numpy-discussion - Deprecate matrices in 1.15 and remove in 1.17? 代替手段を用いてください。以下の記事の内容…
はじめに 最小二乗法をnumpyで実装してみた。 理論背景についてはこちらを参照(外部リンク)。 mathtrain.jp PRMLの線形回帰モデル(線形基底関数モデル) from Yasunori Ozaki www.slideshare.net qiita.com やるべきこと 最小二乗法(正確には線形基底関…
みんな大好きボゴソート。愚直に実装するならそんなに面倒なことはない。 import random def bogo(lst): while True: random.shuffle(lst) xb = lst[0] flag = True for x in lst[1:]: if xb > x: flag = False break xb = x if flag: return None 色々イケ…
はじめに 前回の記事で「なんとなくnp.float32が速い気がする」とか書いたので、実際に測ってみる。 予め断っておくと、計算速度なんて環境によって違うし、どの型が速いかもCPUのアーキテクチャに依存する。numpyはバリバリにSIMD命令を使って最適化する(…