ai83 .net 開発者のための 機械学習フレームワーク...
TRANSCRIPT
de:code 2019 AI83
.NET 開発者のための
機械学習フレームワークML.NET 入門
富士ソフト株式会社 MS 事業部 フェロー
増田裕正
https://www.fsi.co.jp/blog/teclist/masuda/
自己紹介
富士ソフト株式会社 MS 事業部 フェロー
増田裕正 (Masuda Hiromasa)
ML.NET概要
ML.NET とは?
ML.NET の実績
他の機械学習モデル開発環境との比較
•Azure Machine Learning Studio
/Azure Machine Learning Service Visual Interface
•TensorFlow / CNTK
•ML.NET
•Chainer / Keras
•PowerBI
•Sony Neural Network Console
•Azure Machine Learning Service Automated ML
•Azure Cognitive Services
ML.NET機械学習モデル開発方法
今回の実装テーマ
ML.NET のインストール
データセットの定義
public class WineQualityData{[LoadColumn(0)]public float FixedAcidity;
[LoadColumn(1)]public float VolatileAcidity;
[LoadColumn(2)]public float CitricAcid;
データセットの定義
… [LoadColumn(9)]public float Sulphates;
[LoadColumn(10)]public float Alcohol;
[LoadColumn(11)]public float Quality;
}
データのロード
//コンテキストの生成MLContext mlContext = new MLContext(seed: 0);//データのロードIDataView data =mlContext.Data.LoadFromTextFile<WineQualityData>(@".¥Data¥winequality-red.csv", hasHeader: true, separatorChar: ';');
データのロード
//学習用データと評価用データに分割var split = mlContext.Data.TrainTestSplit(data, testFraction: 0.2, seed: 0);
学習データの定義
//学習パイプラインの定義//学習データの定義var dataProcessPipeline = mlContext.Transforms.Concatenate(outputColumnName: "Features",nameof(WineQualityData.FixedAcidity),nameof(WineQualityData.VolatileAcidity), nameof(WineQualityData.CitricAcid), nameof(WineQualityData.ResidualSugar), nameof(WineQualityData.Chlorides),
学習データの定義
nameof(WineQualityData.FreeSulfurDioxide),nameof(WineQualityData.TotalSulfurDioxide), nameof(WineQualityData.Ph),nameof(WineQualityData.Sulphates), nameof(WineQualityData.Alcohol));
学習アルゴリズムの選択と学習
//学習アルゴリズムの定義var trainer = mlContext.Regression.Trainers.Sdca(labelColumnName: nameof(WineQualityData.Quality), featureColumnName: "Features");
//学習アルゴリズムをパイプラインに設定var trainingPipeline = dataProcessPipeline.Append(trainer);
学習アルゴリズムの選択と学習
//学習データを用いて学習モデルを生成var trainedModel =trainingPipeline.Fit(split.TrainSet);
サポートしている機械学習タスクの種類
学習アルゴリズム評価
//テストデータによるモデルの評価//生成した学習モデルで評価用データを使って推論IDataView predictions =trainedModel.Transform(split.TestSet);
//学習モデルの評価var metrics = mlContext.Regression.Evaluate(predictions, labelColumnName: nameof(WineQualityData.Quality),scoreColumnName: "Score");
Demo: ML.NET 実装の流れ
ML.NET の今後
プレビュー リリースされた機能
ML.NET Model Builder (Visual Studio)
ML.NET Model Builder (Visual Studio)
ML.NET Model Builder (Visual Studio)
ML.NET Model Builder (Visual Studio)
まとめ
ML.NET 入門まとめ
EOF.
© 2018 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
© 2019 FUJISOFT INCORPORATED All rights reserved.
本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。