読者です 読者をやめる 読者になる 読者になる

tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

python

pythonのクラス

メモ(podhmoさんのツイート) pythonのクラス関係のこと知りたいならtypeobject.cを読むのおすすめです。PyBaseObject_Typeがobject、PyType_Typeがtypeということがわかるとある程度普通に読めます。— po (@podhmo) 2017年2月27日

pythonのデコレータ(setter, getter, property, staticmethod, classmethod)

nd2readerのソースコードを見ていたら@staticmethodが散見された。文法を知らなかったので調べた。

vispyで.objファイルをプロットする

OpenGLを使わずに.obj形式のメッシュの可視化を自由にしたい。vispyを試してみたところ、簡単だがOpenGLなしでは自由な表現が出来なかった。開発中で実装が充実している最中なので今後もっと使いやすくなるかも。以下メモ。

PySideについての調べもの

GUIアプリケーションを書こうと思い、PySideについて調べた。

sympyで行列計算

物理数学の教科書を読んでいて文字入りの逆行列の計算が合わなかったのでsympyを使った。sympyがインストールされていなければSymPy Liveが少し遅いが便利。 from sympy import * l, m, s = symbols("λ μ σ") A = Matrix([[l + 2 * m, l, l], [l, l + 2 * m,…

dicomライブラリ選定(その1)

DICOM(Digital Imaging and COmmunication in Medicine)はCTやMRIなどの医療画像ファイルや通信プロトコルの標準規格。ウィキペディアによるとメーカーごとに細かい違い(方言)が多い規格のよう。

Matlabファイルのpythonでの読み込み

.matというmatlabのファイルを拾ってきた。これをpythonで開きたい。 基本的にはscipy.io.loadmatを利用すればいいが、scipy.io.loadmat — SciPy v0.15.1 Reference Guideにあるように、v7.3フォーマットではHDF5のためのライブラリh5pyを利用する必要がある…

「Probabilistic Programming and Bayesian Methods for Hackers」を読んだ - (0 ~ 2章)

MCMCの勉強のためにProbabilistic Programming and Bayesian Methods for Hackersを読んだ。翻訳は終わっていないが、日本語版もある。

ipython notebookの使い方

ipython、ipython notebookの使い方のまとめ(随時更新)。

ディリクレ分布をRとpythonで描いてみる

ディリクレ分布 $$ p(\mathbf{x}, \mathbf{\alpha}) = \dfrac{1}{B(\mathbf{\alpha})}\prod x_{i}^{a_{i}-1} $$ $$ B(\mathbf{\alpha}) = \dfrac{\prod(\Gamma a_i)}{\Gamma(\sum a_{i})} $$ ベータ分布と同じく式の中にベータ関数が含まれていて、多次元ベ…

2項分布、ベータ分布をRとpythonで描いてみる

2項分布 R $$ P(X=k) = \begin{pmatrix} n\\ k\\ \end{pmatrix} p^{k}(1-p)^{n-k} $$

エストラネスの篩を使って素数判定する

久々にProject Eulerを解いていて素数の判定をしないといけなくなったのでメモ。簡単な問題でも素数の判定が入っていると結構時間がかかるのでエストラネスの篩を使うべき。

虫食い算をpythonで解いてみる

先輩のブログで虫食い算を見つけたので自分もやってみる。 解くのは SEND +) MORE ------- MONEY である。 ループ回すだけの簡単なプログラム from itertools import permutations ans=[] for p in permutations(range(10), 8): if p[0] == 0 or p[4] == 0: …

生存時間解析について -その2(定式化、その他)- 「Think Stats」第2章

生存時間解析の定式化 生存時間解析は興味のあるイベントが起こるまで観察し、その時間について考察を加えるものである。 \(S\)、\(F\)、\(s\)、\(f\) 生存時間解析でまず最初に観察されるのが、ある時間\(t\)以上生存する確率を表す生存関数\(S(t)\)と、\(t…

生存時間解析について -その1(可視化)- 「Think Stats」第2章

RのsurvivalパッケージにあるcolonはStage B/Cの結腸癌患者を対象とした術後補助化学療法の比較臨床試験データ。pythonを使ってこのデータの生存時間解析をやってみる。まずは可視化から。 colon.csvの様子 id,study,rx,sex,age,obstruct,perfor,adhere,node…

降水量について調べてみる - その2 - 「Think Stats」第2章

前回5月と6月前半の降水量について意外な結果が出たので友人に聞いたところ5月と6月前半だと5月の方が雨が少ないと思っているようだったのでその原因を考えたい。 仮説1: 6月後半から梅雨に入るのでそのイメージが強すぎる 仮説2: 実際5月にはひどく雨が降る…

降水量について調べてみる - 「ThinkStats」第1章

どこかからデータを拾ってきて「統計学的に有意」かどうかはともかく計算してみる練習をする。今回は手間だがnumpyなどの関数は使わずに自作する。 Q1: 一年を通じて雨が多い月はいつか Q2: スキー部の活動で例年5月にBBQをするのだが雨が振りやすい曜日、週…

numpy.meanの実装が分からん

ThinkStatsの著者はテキスト中に現れる関数をpythonスクリプトで配布している。ところが実際にはこれらの関数の大半はnumpy,scipyで実装されている。実際どのようにして実装されているか調べたところメインの計算過程がCで実装されているらしいことが分かっ…