盆暗の学習記録

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

機械学習

LightGBMの理論のまとめ

今更ながらLightGBMの論文を読んだのでその時のメモを残しておきます。 ※GPUでの計算への適応など、計算機での活用に関する技術については省略しています。 要約 LightGBMが使う既存の技術 pre-pruning early stopping問題 best-first (leaf-wise) tree hist…

scikit-learn Pipelineの基本の使い方

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

LightGBMにおける欠損値の扱い

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

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

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

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

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

機械学習モデルを動かす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]予測モデル作成の一連の流れのメモ

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

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

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

松尾研究室の無料公開コンテンツがすごい

私のスマホにはニュースアプリが複数入っているのですが,その複数のアプリで最近ハイライトされていたニュースが「松尾研 講座の演習問題を無料公開」という話でした。 AIブームのために世間からの注目がそれだけ強いのか,それともニュースアプリが私向け…

データサイエンス(統計学・機械学習)を鳥瞰する

データサイエンス(ここでは統計学と機械学習をまとめてこう呼ぶことにします)をざっくりと眺めることを考えてみます。 鳥瞰の仕方(分類の仕方)を考える 鳥瞰する(分類して,ざっくり解説していく) の流れになります。本題は2.のほうです。 1. まず分類…