DevOpsについて勉強していく
DevOpsに入門する
CI
CD
MLOps
EDA
df.head(n)
df.shape
df[column].value_counts()
df.info()
df.describe() # 整合性
df.groupby(column).describe()
df.isna().sum()
check 3 sigma
df.dropna()
df.drop_duplicates() # df.duplicated()
delete unused columns or rows
schema validation
df[column].plot()
pd.scatter_matrix(df)
df.corr().style.background_gradient(cmap="coolwarm")
master or transaction data
線形分離可能かのプロット
Azure 成熟度レベル
PoCレベルのMLOps
Pipelines
Data Lake:生データ
Data Ware House(DWH):加工したデータ。探索もここから。
Data Mart:利用するためのデータ
ソフトウェアエンジニア「データサイエンティストさん、実験が再現できないんですが。。というかノートブック(分析、前処理、学習、評価がオールインワン)ですか。。」
(PoCからしばらく経って)このモデルが精度は一番良かったはずだけど、処理速度面で課題があるから、やっぱりあの二番目に精度が良かったパターンに差し替えよう。どのくらい精度に差があったっけ?そのときの学習再現できるよね?
https://qiita.com/nokoxxx1212/items/d309cbfbd9cfa78e4e23
MLOpsとは、システム開発において、データサイエンティストがやらないこと全て
https://www.slideshare.net/tetsutarowatanabe/mlops-238097926
書籍
コミュニティ
MLflow
ディレクトリ構成の参考
LightGBMは欠損値があっても使えるからベースラインとして使いやすいらしい
dbt(Data Build Tool)
dbtとはdata build toolの略で、データ統合を行う際のプロセスであるELT(抽出, 変換, 格納)のうちTransform(変換)の役割を担うツールです。[1]
dbt package
dbt test
dbt docs
dbt exposures
dbt build
ETL or ELT
ELTはSQLだけ、ETLはPythonなどが必要?
ELTでは変換処理を行うための専用エンジンは不要であり、データベースのリソースを使います。普段から利用しているデータベースの処理だけで良いため、新たなスキルを習得する手間を省けます。
一方、ETLの場合は変換処理のための専用ツールの使い方やプログラミングを習わなければなりません。[1]
探索的データ分析(Exploratory Data Analysis, EDA)
(CRoss-Industry Standard Process for Data Mining, CRISP-DM)
Business Understanding(ビジネス理解)
Data Understanding(データ理解)
Data Preparation(データ準備)
Modeling(モデル構築)
Evaluation(評価)
Deployment(実装)