盆暗の学習記録

データサイエンス ,エンジニアリング,ビジネスについて日々学んだことの備忘録としていく予定です。初心者であり独学なので内容には誤りが含まれる可能性が大いにあります。

Python

pythonで数値微分するときはnumdifftoolsが便利そう

scipy.optimize.approx_fprime 先日、フィッシャー情報量を対数尤度の2次の導関数から計算してみようと思い、ChatGPTに「pythonで数値微分するコードの例を出して」と尋ねてみました。 するとscipyの approx_fprime という関数が提案され、2次の導関数につい…

seabornのkdeplotでhue引数を使うときはcommon_norm=Falseを検討しよう

TL; DR seaborn.kdeplotでクラスごとに分布を描くとき、デフォルト引数のままだとクラスごとのサンプル数が違うと分布の大きさも違ってしまう kdeplotではデフォルトではcommon_norm=Trueになっており、全クラスの分布の面積の合計が1になるように分布が調整…

Plotlyで地図上に散布図を描く

ドラッグしたりズームできるようなマップ上に散布図などを描きたいとき、FoliumだけでなくPlotlyも使えることを知ったのでメモしておきます。 環境 python:3.11のDocker Imageの下で、以下のバージョンのライブラリで試しました。 jupyterlab==4.0.10 plotly…

stliteを試してみる

Streamlitを静的サイトで動かせるstliteというライブラリがあるらしいです。 github.com 簡単に試してみたのでメモしておきます。 Streamlitとは StreamlitはPythonだけで簡単にWebアプリを作るライブラリです。 よくある使い方としてはダッシュボードとして…

モニターの輝度を一括・自動で調整するアプリを作った

①輝度を自動操作したい(朝は明るく、夜は暗くしたい)、②複数のモニターの輝度を一括で操作したい、という自分の要望を叶えるためのアプリを作りました

[python]loggerの出力が重複するのを防ぐ

pythonのloggingを使うときのメモ 背景 loggerインスタンスにStreamHandlerやFileHandlerを設定する処理は使いまわしたいので、関数にしたい。 その際、単純にその処理を関数にまとめると、その関数が複数回呼ばれて同じ名前のloggerが複数回参照された場合…

scikit-learn Pipelineの基本の使い方

個人的に業務ではよく使うのでもっと多くの人に認知されてほしいという想いを込めてメモ Pipelineとは scikit-learnにはPipelineというclassがある。これは複数の前処理用クラスと予測モデルをまとめて一つのオブジェクトにすることができるもの。 例えば、S…

データの前処理で並列処理を使う

pythonのmultiprocessingパッケージについてのメモ。 docs.python.org コード例 ProcessクラスとPipeクラスを使う場合 Poolクラスを使う場合 なぜmultiprocessingなのか コード例 こう書けば良いんじゃないかな、と思った実装例を載せていきます。 以下では…

unittestでかかった時間を計測する

前にどこかで見かけたやり方をメモ。 unittestでは、各テストの前にはsetUp()が実行され、テストの後にtearDown()が実行される。 なのでその前後でtime()を呼んで、その差分を表示させる。 from time import time import unittest class TestStringMethods(u…

FlaskとAjaxを使って非同期にサイトの表示を変える

FlaskとjQueryとsqliteについて少し勉強したのでメモ。 シンプルな例 まず、シンプルに文字を書き換えるだけの場合について。 バックエンド flaskでサーバー側の処理を書きます。 ページを表示するための index() と、フロントエンドからのAjax通信に対して…

機械学習モデルを動かすWeb APIを作ってみる(5):Lambdaにデプロイ

これまで,APIの作成からHerokuへのデプロイまでを扱ってきました。 今回はAWS Lambda + API Gatewayでのデプロイについてメモしておきます。 機械学習モデルを動かすWeb APIを作ってみる(1):APIの作成 - 盆暗の学習記録 機械学習モデルを動かすWeb APIを作…

機械学習モデルを動かすWeb APIを作ってみる(4):chaliceでLambdaにデプロイ

今回はchaliceを使ってAWS Lambda + API Gatewayでデプロイする方法についてメモしておきます。

機械学習モデルを動かすWeb APIを作ってみる(3):Herokuにデプロイ

前回,前々回とでAPI部分をつくってきました。 機械学習モデルを動かすWeb APIを作ってみる(1):APIの作成 - 盆暗の学習記録 機械学習モデルを動かすWeb APIを作ってみる(2):uWSGIの設定 - 盆暗の学習記録 今回からはAPIのデプロイ(Web上への展開)につい…

機械学習モデルを動かすWeb APIを作ってみる(2):uWSGIの設定

前回 nigimitama.hatenablog.jp に引き続き,機械学習モデルを動かすAPIを作っていきます。 今回はアプリを動かすサーバ部分を設定します。 アプリケーションサーバの必要性 インストール 起動テスト 設定をファイルに記述する 起動 リロードと停止 GitHubリ…

機械学習モデルを動かすWeb APIを作ってみる(1):APIの作成

PythonでAPIを作る方法をメモしておくことにします。

どの程度sparseだと疎行列ライブラリで計算が速くなるのか

どの程度sparseだと疎行列ライブラリで計算が速くなるのか。気になったので試してみました。

スパースなデータをXGBoost.DMatrixに入れるときはpd.DataFrame/np.arrayを使ってはいけない

XGBoostにはDMatrixという独自のデータ保持用クラスがあります。Documentの説明では optimized for both memory efficiency and training speed と書いてあり、私は「自動で疎行列クラスとかにしてくれるんだろうなぁ」と思っていたのですが、そうでもない様…

XGBoostで自作の目的関数を使う

XGBoostの素敵なポイントの一つは、自分で定義した関数を目的関数に使うことができる点です。 でもどういう関数にしたらよいのかがわからなくて過去に戸惑ったことがあるのでメモしておきます。(詳しいやり方はXGBoostのdocumentationに書いてあります) 定…

データ分析時のメモリ使用量を減らす方法

最近少し覚えたことをまとめます。 (基本的にpythonのコードと共に述べていきますが、Rの場合についても少し触れていきます。) 不要なオブジェクトの削除 del 手動でのガベージコレクションは不要 Rの場合 データ型の最適化 自動で型変換するコード 疎行列…

pythonで塗り分け地図を描く

geopandasによる基本的なplotの例示

[WSL Ubuntu]pythonで塗り分け地図を描くための環境構築

Ubuntuへのgeopandasというライブラリのインストールまでの流れと、塗り分け図のプロットの例を書いていきます。 私のPCの環境について WindowsですがWSLを使います。 windows 10 ver.1903 WSL1 Ubuntu 18.04 geopandasのインストール windowsへのインストー…

pythonによるe-stat APIからのデータ取得

前回に引き続いて,公的データの取得に関してメモ。 Rだと便利なライブラリがあるが,Pythonだとやや面倒かも。 アプリケーションIDの用意 APIアクセス用メソッドの定義 統計情報の取得 普通に人力で探す場合 APIのgetStatsListを使う場合 メタ情報の取得:g…

pythonによるRESAS APIからのデータ取得

今までRでしか取得したことがなく,Pythonでは初めてだったのでメモ 使い方の流れ コードの例 RESASデータ取得用の関数 例:都道府県一覧の取得 例:市区町村一覧の取得 例:出生数・死亡数/転入数・転出数の取得 データの取得 使い方の流れ 利用登録してAP…

[Python]パソコンのバッテリがおかしいのでログを取る

動機 昨年の11月にVAIO S13を買ったのですが,購入当初から「バッテリが少なくなっています」という警告が出ずにいきなりバッテリ切れでスリープに入ることがありました。 指紋リーダーもフリーズすることがよくあったので,「ソフトウェア(Windows?)のイ…

TensorFlow-GPUのインストールで詰まったときのメモ

久々にTensorFlowを使おうとしたら動かなくて(最近Rでkerasをインストールするときに失敗したから…?),再インストールしようとしたら詰まったので対処法をメモ 対処法というのもおこがましいレベルで,要するに「最新版じゃなく,少し古いバージョンのTen…

[Python]予測モデル作成の一連の流れのメモ

Pythonで予測モデルを作るときの大まかな流れの雛形みたいなやつ(自己流なので正しいかはわかりませんが…)をメモしていきます。 1. データの読み込みと確認 データの確認 データ間の関係を確認 データの可視化(単変量) データの可視化(多変量) 相関行…

scikit-learnメモ:サンプルデータセットの読み込み方

機械学習を使うための処理の書き方を勉強する上でお世話になるのがサンプルデータセットですが, scikit-learnはRとは読み込み方が異なって面倒くさかったため,メモしておきます。 iris データセット 定番のirisデータを例にしてみます。 Rだとdata(iris)あ…