Contenu connexe
Similaire à Microsoft Open Tech Night - .NET Developer のための ML.NET - 導入編 (20)
Plus de Daiyu Hatakeyama (20)
Microsoft Open Tech Night - .NET Developer のための ML.NET - 導入編
- 1. .NET Developer のための
ML.NET - 導入編
畠山 大有 | Daiyu Hatakeyama | @dahatake
Architect && Software Engineer && Applied Data Scientist (目指している)
Microsoft Japan
- 2. Built for .NET
developers
.NET のエコシステムの中で
モデル作成
モデル開発生産性の向
上 - AutoML
Visual Studio Model Builder と
CLI で、モデル作成を迅速に
TensorFlow や ONNX
連携
使い慣れた Deep Learning の
Framework との連携
dot.net/ml
- 6. 二項分類 多クラス分類 回帰 クラスタリング 異常検出 ランキング リコメンデーション
AveragedPerceptronTrai
ner
LightGbmMulticlassTrain
er
LbfgsPoissonRegressionT
rainer
KMeansTrainer RandomizedPcaTrainer LightGbmRankingTrainer MatrixFactorizationTrain
er
SdcaLogisticRegressionBi
naryTrainer
SdcaMaximumEntropyM
ulticlassTrainer
LightGbmRegressionTrai
ner
FastTreeRankingTrainer
SdcaNonCalibratedBinar
yTrainer
SdcaNonCalibratedMulti
classTrainer
SdcaRegressionTrainer
SymbolicSgdLogisticRegr
essionBinaryTrainer
LbfgsMaximumEntropyM
ulticlassTrainer
OlsTrainer
LbfgsLogisticRegressionB
inaryTrainer
NaiveBayesMulticlassTrai
ner
OnlineGradientDescentTr
ainer
LightGbmBinaryTrainer OneVersusAllTrainer FastTreeRegressionTrain
er
FastTreeBinaryTrainer PairwiseCouplingTrainer FastTreeTweedieTrainer
FastForestBinaryTrainer FastForestRegressionTrai
ner
GamBinaryTrainer GamRegressionTrainer
FieldAwareFactorization
MachineTrainer
PriorTrainer
LinearSvmTrainer
https://docs.microsoft.com/ja-jp/dotnet/machine-learning/resources/tasks
https://docs.microsoft.com/ja-jp/dotnet/machine-learning/how-to-choose-an-ml-net-algorithm
- 7. ctx.BinaryClassification.Trainers.
• ローカルで実行
• タスク
• 二項分類
• 多クラス分類
• 回帰
• 前処理
• 有用な情報が無い特徴(説明変数)の削除
• 欠損、全て同じ、カーディナリティが低い
• 欠損値の表示と補完
• 追加の特徴(説明変数)の生成
• 例: One-hot encoding やOne-hot hash encoding
• 変換とエンコード
• 終了処理
• 一定時間
• キャンセルトークン
Automated Machine Learning (AutoML)
https://docs.microsoft.com/ja-jp/dotnet/machine-learning/how-to-guides/how-to-use-the-automl-api
- 8. ランドマーク パイプラインの数を固定
(例: 20)
タスクの種類 |プライマリ メトリック
アルゴリズム利用の許可または拒否
データセットのサイズ と スパーシティ。
サイズ > ~50k 行の場合、KNN/SVM 自動ブラッ
クリストに登録されるようないくつかのアルゴリ
ズムを自動検知
サブサンプリング: 異なるサンプルのデータを使
用した同じ
パイプライン トレーニング (3%、5%、10%、
20%)
コスト予測: イテレーション タイムアウト内に完
了する可能性が高いパイプラインのみを含める
前回のイテレーションの
プライマリ メトリック スコアに基づい
て
リコメンドされるパイプライン処理
シーケンシャル または 並列実行(リモート)に応じ
て、
次のパイプラインに 1または"n“
(ユーザー指定の「同時実行」入力)を返す
新しいデータセットとアルゴリズムで
定期的に再トレーニング
現在のマトリックス: ~1000 データセット x 数百
万のパイプライン X #primary メトリック
ユーザーデータを内部リコメンデーション モデル
に使用しない:メタデータのみを使用 (完全に難読
化)