薬剤師のプログラミング学習日記

プログラミングやコンピュータに関する記事を書いていきます

ナイーブベイズ分類器を自分で実装してみる

以前薬歴文書の分類にナイーブベイズ分類器を使いました。この分類器は迷惑メールのフィルタやWebニュース記事の分類等で使用されているそうです。特徴として、性能はやや劣ることがあるものの、高速に訓練でき実装も比較的容易だということで、今回はこのナ…

Bag of WordsをPythonで書いてみる

文書データを数値表現に変換する手法の1つであるBag of Wordsを一からPythonで書いてみました。 Bag of Words(BoW)とは BoWの問題点 nグラムによるBoW sklearnのCountVectorizerのパラメータについて tokenizer preprocessor analyzer stop_words max_dfとm…

MeCabをインストールしてPythonで分かち書きをする

自然言語である文書データを機械学習プログラムで扱えるようにするためには、文を構成する要素である単語に分解(分かち書き)する必要があります。今回はPythonで分かち書きをするために必要なソフトのインストールとその設定について書こうと思います。 分…

薬歴文書を機械学習でカテゴリ分類してみる

少し前まで自然言語データを用いた様々な機械学習の手法について勉強していました。しばらくはこれについて書いていこうと思います。今回のプログラムでは、次のような入力された文章に対してあらかじめ作成しておいたカテゴリに分類させる、ということをや…

OutlookメールをPythonでファイル出力する

Outlookで受信したメールを特定のフォルダにHTMLファイルとして出力するプログラムです。私の職場では医薬品医療機器情報配信サービス(PMDAメディナビ)を利用していますが、このメールをネットワーク内の共有フォルダにHTML形式で保存することで、ネットワ…

線形回帰でデータに直線を当てはめる

これまでに何度か片対数プロットした血中濃度データから直線のパラメータを求めるということをしましたが、これは線形回帰の中でも説明変数が一つの単回帰に当たります。 今まではnumpyやscipyといったライブラリから既成のモジュールを呼び出してデータを与…

腎機能評価ツールを作ろう

前回記事「eGFRとクレアチニンクリアランスの計算式をグラフ描画する」の続きです。 ウィジェット(スライダーなどの部品)を配置する ウィジェットの値変更時の処理を書く グラフにテキストを表示する 体重一点における体表面積、CCr、個別eGFRを求める 実…

eGFRとクレアチニンクリアランスの計算式をグラフ描画する

腎機能評価の指標としてeGFR(推算糸球体濾過量)やCCr(クレアチニンクリアランス)、シスタチンC(Cys-C)などがありますが、病院等で働く薬剤師であれば、仕事中に薬の投与量のチェックをするためにこれらの値を計算することも多いかと思います。 ネットで…

薬の蓄積率について-投与間隔と半減期からわかること-

ネットで蓄積率を検索すると『投与間隔/消失半減期が3以下なら定常状態のある薬、4以上なら定常状態のない薬』などの記事が見つかります。今回はこの3や4という数字の意味について見ていきたいと思います。 蓄積率とは 蓄積率の式をグラフでみる 具体的な例…

ニュートン法で方程式の近似解を求める

前回「トラフ値からkeを推定する」で定常状態のCss_minを求める式からkeを求めました。このときscipy.optimizeモジュールのnewton()を使いましたが、これはニュートン法(ニュートン・ラフソン法)というアルゴリズムを実装した関数です(引数に導関数を与え…