zoukankan      html  css  js  c++  java
  • .NET Core玩转机器学习

    最近在搞机器学习,目前国内没有什么关于ML.NET的教程,官方都是一大堆英文,经过了我的努力,找到了Relax Development大哥的博客,有关于ML.NET的内容

    原文地址:https://www.cnblogs.com/BeanHsiang/p/9010267.html  

    使用ML.NET直接从nuget中搜索ML.NET 安装到项目即可

    UCI Machine Learning Repository: Iris Data Set下载一个现成的数据集,复制粘贴其中的数据到任何一个文本编辑器中,然后保存命名为iris-data.txt到myApp目录中。

    打开program.cs 以下代码:

    using Microsoft.ML;
    using Microsoft.ML.Runtime.Api;
    using Microsoft.ML.Trainers;
    using Microsoft.ML.Transforms;
    using System;
    
    namespace myApp
    {
        class Program
        {
            // STEP 1: Define your data structures
    
            // IrisData is used to provide training data, and as 
            // input for prediction operations
            // - First 4 properties are inputs/features used to predict the label
            // - Label is what you are predicting, and is only set when training
            public class IrisData
            {
                [Column("0")]
                public float SepalLength;
    
                [Column("1")]
                public float SepalWidth;
    
                [Column("2")]
                public float PetalLength;
    
                [Column("3")]
                public float PetalWidth;
    
                [Column("4")]
                [ColumnName("Label")]
                public string Label;
            }
    
            // IrisPrediction is the result returned from prediction operations
            public class IrisPrediction
            {
                [ColumnName("PredictedLabel")]
                public string PredictedLabels;
            }
    
            static void Main(string[] args)
            {
                // STEP 2: Create a pipeline and load your data
                var pipeline = new LearningPipeline();
    
                // If working in Visual Studio, make sure the 'Copy to Output Directory' 
                // property of iris-data.txt is set to 'Copy always'
                string dataPath = "iris-data.txt";
                pipeline.Add(new TextLoader<IrisData>(dataPath, separator: ","));
    
                // STEP 3: Transform your data
                // Assign numeric values to text in the "Label" column, because only
                // numbers can be processed during model training
                pipeline.Add(new Dictionarizer("Label"));
    
                // Puts all features into a vector
                pipeline.Add(new ColumnConcatenator("Features", "SepalLength", "SepalWidth", "PetalLength", "PetalWidth"));
    
                // STEP 4: Add learner
                // Add a learning algorithm to the pipeline. 
                // This is a classification scenario (What type of iris is this?)
                pipeline.Add(new StochasticDualCoordinateAscentClassifier());
    
                // Convert the Label back into original text (after converting to number in step 3)
                pipeline.Add(new PredictedLabelColumnOriginalValueConverter() { PredictedLabelColumn = "PredictedLabel" });
    
                // STEP 5: Train your model based on the data set
                var model = pipeline.Train<IrisData, IrisPrediction>();
    
                // STEP 6: Use your model to make a prediction
                // You can change these numbers to test different predictions
                var prediction = model.Predict(new IrisData()
                {
                    SepalLength = 3.3f,
                    SepalWidth = 1.6f,
                    PetalLength = 0.2f,
                    PetalWidth = 5.1f,
                });
    
                Console.WriteLine($"Predicted flower type is: {prediction.PredictedLabels}");
            }
        }
    }

  • 相关阅读:
    正则基础之——反向引用
    zend framework 配置连接数据库
    Zend Framework Module之多模块配置
    zend framework 1.10项目配置与经典hello world
    CSS3 @font-face
    js跳转页面方法(转)
    CSS中怎么让DIV居中
    HTML段落自动换行的样式设置
    PHPEXCEL实例-导出EXCEL
    移动端框架篇-控制父容器的滑屏框架-slip.js
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9847950.html
Copyright © 2011-2022 走看看