public async Task ClassifyWithModelo02(CreditAnalysisMLModel creditAnalysisMLModel)
        {
            creditAnalysisMLModel.ModelType = CreditAnalysisModelTypeEnum.Modelo02;

            var services = this.ServiceProvider.GetService <ICreditAnalysisMLService>();
            var result   = await services.ClassifyAsync(creditAnalysisMLModel);

            Assert.True(result > 0);
            Assert.True(services.IsValid());
        }
Пример #2
0
 public async Task <double> ClassifyAsync(CreditAnalysisMLModel creditAnalysisMLModel)
 {
     try
     {
         return(await this.DoClassifyAsync(creditAnalysisMLModel));
     }
     catch (System.Exception ex)
     {
         this.AddError($"Erro: {ex.Message}");
         return(0);
     }
 }
Пример #3
0
        private async Task <double> DoClassifyAsync(CreditAnalysisMLModel creditAnalysisMLModel)
        {
            creditAnalysisMLModel.Escolaridadexxx = new CreditAnalysisDummyModel()
            {
                Dummy30876 = creditAnalysisMLModel.Escolaridade
            };

            var client = new HttpClient();

            var requestParameters = $"predict?model={creditAnalysisMLModel.ModelType.ToDescription()}";

            var uri = $"{this._creditAnalysisEnvironment.CreditAnalysisApi}/{requestParameters}";

            byte[] bytes;
            var    json = JsonHelper.Serialize(creditAnalysisMLModel);

            bytes = Encoding.UTF8.GetBytes(json);
            using ByteArrayContent content = new ByteArrayContent(bytes);
            content.Headers.ContentType    = new MediaTypeHeaderValue("application/json");
            var response = await client.PostAsync(uri, content);

            var contentString = await response.Content.ReadAsStringAsync();

            if (creditAnalysisMLModel.ModelType == Enums.CreditAnalysisModelTypeEnum.Modelo01)
            {
                var result = JsonHelper.Deserialize <CreditAnalysisMLResultModel>(contentString);
                return(result.Proba.FirstOrDefault().Last());
            }

            if (creditAnalysisMLModel.ModelType == Enums.CreditAnalysisModelTypeEnum.Modelo02)
            {
                var result = JsonHelper.Deserialize <CreditAnalysisML02ResultModel>(contentString);
                return(result.prediction.FirstOrDefault());
            }

            this.AddError("CreditAnalysisModelTypeEnum não informado.");

            return(0);
        }