盆暗の学習記録

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

LightGBMにおける欠損値の扱い

Githubでの議論などを見てわかったことをメモしておきます。 前提 学習時の欠損値の取り扱い numerical featureの欠損値 categorical featureの欠損値 予測時の欠損値の取り扱い numerical featureの欠損値 categorical featureの欠損値 まとめると 考察 ゼ…

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

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

なぜバギングは予測誤差を減らすのか

機械学習の分野では、バギング(bagging)というアンサンブル学習の方法があります。 なぜバギングは予測誤差を下げるのか?という点について少し学んだのでメモしておきます。 ※記事全文はGithubに載せています 2日ほどはてなブログでの数式の記述(はてなT…

予測誤差のバイアス-バリアンス分解の導出

予測誤差や推定量の推定の誤差は、バイアス(bias)とバリアンス(variance)という2つの構成要因に分けることができます。分けることで、誤差を削減する方法について議論しやすくなります。 推定量のバイアスーバリアンス分解については以前の記事で書いた…

機械学習モデルを動かす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を作る方法をメモしておくことにします。

[Python]リストやデータフレームを任意の要素数で分割する

長さ(行数)Nのリスト(データフレーム)を要素数(行数)K個ずつに分割する…という処理についてのメモ

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

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

cronでプログラムを定期的に自動実行させる

かなり詰まったのでメモ。 環境 cron crontabコマンドを使う方法 概要 コマンド 設定方法 cronの起動 /etc/cron.dに置く方法 概要 crontabファイルの準備 設定方法 私が詰まったポイント cronの起動 cronの再読み込み crontabの設定を楽にするサイト 参考に…

スパースなデータを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へのインストー…

Chromeの標準フォントを変更してギザギザ文字を無くす

はじめに WindowsはMacに比べるとデフォルトのフォントが汚いことが多いですが,CSSが適切に設定されていないWebサイトのフォントについてはChrome側のデフォルトのフォント設定を変更することで解決できるみたいです。 やり方をメモしておきます。 設定方法…

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

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

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

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

WSLのvimの背景ハイライトがおかしいのを直す方法

問題 WSLでvimを起動し,Ctrl + DやCtrl + Uなどを押すとハイライトがバグってしまいます。 デフォルトのカラースキームだと目立たないバグですが,自分でデフォルト以外のカラースキームを設定していると色がめちゃくちゃになってしまうこともあります。 解…

ssh接続についてのメモ

※環境 Windows 10 1093 WSL Ubuntu 18.04 鍵 keygen1:雑な方法 keygen2:丁寧に作る方法 .ssh/configの書き方 .sshディレクトリ configファイル 接続 パーミッション関連のエラー Are you sure ? を省略する 鍵 例えばEC2インスタンス作成時に受け取ったp…

vimで編集中のプログラムを実行する

初めて知ったのでメモ 概要 :w ![当該言語の実行コマンド] :![当該言語の実行コマンド] % :!clear; [当該言語の実行コマンド] % (コンパイルする場合) …コンパイラ言語の場合は長いので何かエイリアスを.vimrcに入れたほうがいいですね 意味 vimコマンド w…

Google Apps Scriptの基本の使い方と企業での活用事例

Google Apps Script(以下GAS)というGoogleが提供している言語(とその開発環境,実行環境)があります。 GASは次のような特徴を持っています。 Googleのサーバーで関数単位で実行してもらえる 「毎日朝8時に実行」「1時間毎に実行」といったタスクを設定…

[Windows]コマンドラインで「自分のいつもの環境」を簡単に再現する

自分がWindowsで環境を用意するときに便利だなとおもったものをメモしておきます。 省力化のポイントは「極力コマンドラインで操作する」ということかなと思うようになりました。 そうすれば,「自分にとって必要なソフトウェアのリスト」をコマンド集として…

NERDTreeのWSL(Ubuntu)へのインストール

試しにnerdtreeを入れてみたので入れ方と操作方法についてメモ。 ※ 執筆時のPCの環境など Windows 10 ver.1803 Ubuntu 18.04.1 LTS NERDTreeとは vimの画面左側に,カレントディレクトリのファイルツリーを表示させるもの。 インストール手順 ちょっと昔の記…

vimのカラースキームを変更する

カラースキーム変更についてメモ。 カラースキームの変更 一時的に変えるには :colorscheme [カラースキーム名] と打てばいいらしい(カラースキーム名については次節)。 永続的に変えるには.vimrcに colorscheme [カラースキーム名] と書き込む。 デフォル…

ポアソン対数正規分布についてのメモ

「所得分布のように格差がある歪んだ分布で,データ型は整数」というような確率分布ってあるのかなぁ・・・と探していたら,ポアソン対数正規分布(Poisson-lognormal distribution)なるものがあることを知ったのでちょっとだけメモ。 概要 ポアソン対数正…

[Windows]VSCodeのターミナルをPowerShellやBashにする

VSCodeが便利なのでよく使っています。 ただ,今迄の所唯一不満だったのが「ターミナルがコマンドプロンプトであること」です。 Bash(WSL)やPowerShellはUNIX系のコマンドラインが使えるので,VSCodeのターミナルをこれに変えると作業が捗りました。設定の…

Bash・Shellコマンドまとめ

bash操作・シェルスクリプトについて学んだのでメモ。 ファイル操作系コマンド カレントディレクトリ関係 フォルダ/ファイルの操作 ファイルの内容を表示 その他のコマンド curl:URLへのアクセス・ダウンロード find:ディレクトリツリーからファイルを探す…