コード例 #1
0
        public static void EvaluateSingleTestPrediction(SomatotypeInputData input)
        {
            PredictionEngine <SomatotypeInputData, SomatotypeOutputData> prediction_engine = null;

            prediction_engine = Data.Context
                                .Model
                                .CreatePredictionEngine <SomatotypeInputData, SomatotypeOutputData>(Data.Transformer);


            SomatotypeOutputData prediction = prediction_engine.Predict(input);

            Console.WriteLine($"**********************************************************************");
            Console.WriteLine($"Predicted Endomorphic: {prediction.EndomorphicComponent:0.####}, actual fare: XXXXXXXXXX");
            Console.WriteLine($"**********************************************************************");

            return;
        }
コード例 #2
0
        private static void CallMachineLearningDotNet()
        {
            sample_ml = new SomatotypeInputData()
            {
                Height               = 191.7,
                Mass                 = 82.0,
                BreadthHumerus       = 7.3,
                BreadthFemur         = 10.1,
                GirthArmUpper        = 33.2,
                GirthCalfStanding    = 36,
                SkinfoldTriceps      = 7,
                SkinfoldSubscapular  = 6,
                SkinfoldMedialCalf   = 4,
                SkinfoldSupraspinale = 9
            };

            mlContext = new MLContext(seed: 0);

            // Train/learn
            model = TrainLearnMLdotnet(mlContext, _trainDataPath);
            EvaluateTestMLdotnet(mlContext, model);
            EvaluateTestSinglePredictionMLdotnet(mlContext, model);
        }
コード例 #3
0
        public static void LocalDeterministic()
        {
            System.IO.TextReader reader = new System.IO.StreamReader(Data.File);
            string s = reader.ReadToEnd();

            string[] rows = s.Split
                            (
                '\n'
                //System.Environment.NewLine
                            );

            System.Collections.Generic.List <string[]> records = new System.Collections.Generic.List <string[]>();
            foreach (string row in rows)
            {
                string[] columns = row.Split(new char[] { ',' });

                records.Add(columns);
            }


            loop_data = new System.Collections.Generic.List <SomatotypeInputData>();
            records.RemoveAt(0);

            foreach (string[] record in records)
            {
                SomatotypeInputData stid = new SomatotypeInputData()
                {
                    Id                   = int.Parse(record[3]),
                    Height               = double.Parse(record[4]),
                    Mass                 = double.Parse(record[5]),
                    BreadthHumerus       = double.Parse(record[6]),
                    BreadthFemur         = double.Parse(record[7]),
                    GirthArmUpper        = double.Parse(record[8]),
                    GirthCalfStanding    = double.Parse(record[9]),
                    SkinfoldSubscapular  = double.Parse(record[10]),
                    SkinfoldTriceps      = double.Parse(record[11]),
                    SkinfoldSupraspinale = double.Parse(record[12]),
                    SkinfoldMedialCalf   = double.Parse(record[13]),
                };
                loop_data.Add(stid);
            }

            HeathCarterMisigojDurakovic();



            string content = null;
            //string header = null;
            StringBuilder sb = new StringBuilder();

            //header =
            //    "Endomorphic,Mesomorphic,EctoMorphic"
            //    + "," +
            //    "Id,Height,Mass"
            //    + "," +
            //    "SkinfoldTriceps,SkinfoldSubscapular,SkinfoldSupraspinale,SkinfoldMedialCalf"
            //    + "," +
            //    "BreadthFemur,BreadthHumerus"
            //    + "," +
            //    "GirthArmUpper,GirthCalfStanding"
            //    ;

            sb.Clear();
            System.IO.TextWriter writer = new System.IO.StreamWriter(Data.File.Replace(".csv", ".results.csv"));
            foreach (SomatotypeOutputtData stod1 in results)
            {
                sb.Append($"{stod1.Endomorphic},");
                sb.Append($"{stod1.Mesomorphic},");
                sb.Append($"{stod1.EctoMorphic},");
                sb.Append($"{stod1.Id},");
                sb.Append($"{stod1.Height},");
                sb.Append($"{stod1.Mass},");
                sb.Append($"{stod1.SkinfoldTriceps},");
                sb.Append($"{stod1.SkinfoldSubscapular},");
                sb.Append($"{stod1.SkinfoldSupraspinale},");
                sb.Append($"{stod1.SkinfoldMedialCalf},");
                sb.Append($"{stod1.BreadthFemur},");
                sb.Append($"{stod1.BreadthHumerus},");
                sb.Append($"{stod1.GirthArmUpper},");
                sb.Append($"{stod1.GirthCalfStanding}");
                sb.AppendLine();
            }
            writer.WriteLine(content + Environment.NewLine + sb.ToString());
            writer.Flush();

            sb.Clear();
            System.IO.TextWriter writer_1 = new System.IO.StreamWriter(Data.File.Replace(".csv", ".results_ectomorph_range_error.csv"));
            foreach (SomatotypeOutputtData stod1 in results_ectomorph_range_error)
            {
                sb.Append($"{stod1.Endomorphic},");
                sb.Append($"{stod1.Mesomorphic},");
                sb.Append($"{stod1.EctoMorphic},");
                sb.Append($"{stod1.Id},");
                sb.Append($"{stod1.Height},");
                sb.Append($"{stod1.Mass},");
                sb.Append($"{stod1.SkinfoldTriceps},");
                sb.Append($"{stod1.SkinfoldSubscapular},");
                sb.Append($"{stod1.SkinfoldSupraspinale},");
                sb.Append($"{stod1.SkinfoldMedialCalf},");
                sb.Append($"{stod1.BreadthFemur},");
                sb.Append($"{stod1.BreadthHumerus},");
                sb.Append($"{stod1.GirthArmUpper},");
                sb.Append($"{stod1.GirthCalfStanding}");
                sb.AppendLine();
            }
            writer_1.WriteLine(content + Environment.NewLine + sb.ToString());
            writer_1.Flush();

            System.IO.TextWriter writer_2 = new System.IO.StreamWriter(Data.File.Replace(".csv", ".results_ectomorph_extreme.csv"));
            foreach (SomatotypeOutputtData stod1 in results_ectomorph_extreme)
            {
                sb.Append($"{stod1.Endomorphic},");
                sb.Append($"{stod1.Mesomorphic},");
                sb.Append($"{stod1.EctoMorphic},");
                sb.Append($"{stod1.Id},");
                sb.Append($"{stod1.Height},");
                sb.Append($"{stod1.Mass},");
                sb.Append($"{stod1.SkinfoldTriceps},");
                sb.Append($"{stod1.SkinfoldSubscapular},");
                sb.Append($"{stod1.SkinfoldSupraspinale},");
                sb.Append($"{stod1.SkinfoldMedialCalf},");
                sb.Append($"{stod1.BreadthFemur},");
                sb.Append($"{stod1.BreadthHumerus},");
                sb.Append($"{stod1.GirthArmUpper},");
                sb.Append($"{stod1.GirthCalfStanding}");
                sb.AppendLine();
            }
            writer_2.WriteLine(content + Environment.NewLine + sb.ToString());
            writer_2.Flush();


            return;
        }