ML.NET 示例:二元分类之信用卡欺诈检测 (2)

Evaluate()比较测试数据集的预测值,并生成各种指标,例如准确性,您可以对其进行浏览。

var metrics = _context.Evaluate(model.Transform(_testData), "Label"); 4. 使用模型

训练完模型后,您可以使用Predict()API来预测交易是否存在欺诈。

[...] ITransformer model; using (var file = File.OpenRead(_modelfile)) { model = mlContext.Model.Load(file); } var predictionFunc = model.MakePredictionFunction<TransactionObservation, TransactionFraudPrediction>(mlContext); [...] dataTest.AsEnumerable<TransactionObservation>(mlContext, reuseRowObject: false) .Where(x => x.Label == true) .Take(numberOfTransactions) .Select(testData => testData) .ToList() .ForEach(testData => { Console.WriteLine($"--- Transaction ---"); testData.PrintToConsole(); predictionFunc.Predict(testData).PrintToConsole(); Console.WriteLine($"-------------------"); }); [...] dataTest.AsEnumerable<TransactionObservation>(mlContext, reuseRowObject: false) .Where(x => x.Label == false) .Take(numberOfTransactions) .ToList() .ForEach(testData => { Console.WriteLine($"--- Transaction ---"); testData.PrintToConsole(); predictionFunc.Predict(testData).PrintToConsole(); Console.WriteLine($"-------------------"); });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdpgp.html