自分好みのcross_val_predictを実装したい
sklearnのcross_val_predictをちょくちょく使用するが自分好みにちょっと改造したい。
具体的には各FOLD毎にfitしたestimatorを取得したい。
あとで実装候補としてメモ。
RMSEを計算する関数を用意しておく
sklearnにはRMSEを計算する関数がない模様で毎回コードを書くのが面倒なので自作パッケージ内の関数として用意しておく。
1. rmse
Root mean squared error regression loss.
1.1. 使用方法
from utils4ml.sklearnwrappers import rmse
1.2. 関数定義
import numpy as np
from sklearn.metrics import mean_squared_error
def rmse(
y_true,
y_pred,
sample_weight=None,
multioutput='uniform_average',
):
args = locals()
mse = mean_squared_error(**args)
rmse = np.sqrt(mse)
return rmse
1.3. 戻り値
-
rmse:
1.4. 使用例
code:
# %% from utils4ml.sklearnwrappers import rmse y_true = [3, -0.5, 2, 7] y_pred = [2.5, 0.0, 2, 8] rmse(y_true, y_pred) # %%
*.adoc にasciidoctorコマンドを適用する find -exec
自分用にパッケージを作成していてドキュメントをadocで作成している。
一つの関数ごとにadocを一つ作成していて数が多くなるので一括でコマンドを適用したい。
一般的な使用方法なので調べればすぐに分かるけど私用にshellscriptに用意しておこう。
find . -name "*.adoc" -type f -exec asciidoctor {} \;
機械学習モデルのパラメータをデータフレームに変換してCSVファイルに書き込む
1. パラメータの辞書作成
まずはパラメータの辞書を作成します。
Code:
# %% import pandas as pd from pprint import pprint parameters = { 'param1': 'method1', 'param2': 0.123456789 } # %%
2. パラメータをデータフレームに変換
3. 関数化
後々のため関数化します。
ニーズがニッチ過ぎて私しか使用しなそうですが。
Code
# %% def parameters_to_DataFrame( parameters ): parameters_df = pd.DataFrame.from_dict( parameters, orient='index', columns=['value'] ).reset_index().rename(columns={'index':'parameter'}) return parameters_df # %%
LGBMClassifierのモデルをdumpしたい
LGBMClassifierのモデルをdumpしたい
Table of Contents
ちょっと調べてみたところ
from sklearn.externals import joblib
で行けるらしい。
試してみる。
→ 問題なくできました。
1. モデルの作成
Code:
2. モデルのdump
Code:
# %% from sklearn.externals import joblib joblib.dump(estimator, 'estimator.pkl') # %%
3. モデルのload
Code:
# %% clf = joblib.load('estimator.pkl') # %%
4. loadしたモデルでpredict
Code:
# %% pred = clf.predict_proba(X) # %%
pip install from git ssh
Pipenv でプロジェクト名(ディレクトリ名)や場所を変更したい
ちょっと調べたのですが有用な情報を見つけることができませんでした。
あまり推奨されないのでしょうか?
環境構築に時間がかかりますし、ネット環境がない状況に対応するため
予め構築済みの環境を使いましたかったのですが。