通常,为了在ML.NET中训练任何模型,您将经历三个步骤:

  1. 弄清楚训练数据如何以IDataView形式进入ML.NET。

  2. 将“学习管道”构建为一系列基本的“运算符”(估计器)。

  3. 在管道上调用Fit以获得经过训练的模型。

示例文件[1]:

feature_0;feature_1;feature_2;feature_3;feature_4;feature_5;feature_6;feature_7;feature_8;feature_9;feature_10;target
-2.75;0.77;-0.61;0.14;1.39;0.38;-0.53;-0.50;-2.13;-0.39;0.46;140.66
-0.61;-0.37;-0.12;0.55;-1.00;0.84;-0.02;1.30;-0.24;-0.50;-2.12;148.12
-0.85;-0.91;1.81;0.02;-0.78;-1.41;-1.09;-0.65;0.90;-0.37;-0.22;402.20

在上面的文件中,最后一列(第12列)是我们预测的标签,前面所有的都是特征。

// 第一步:将数据加载为IDataView。
// 首先,我们定义加载器:指定数据列以及它们在文本文件中的位置。
// 将数据加载到数据视图中。但是请记住,加载器是延迟执行的,所以实际加载将在访问数据时发生。
var trainData = mlContext.Data.LoadFromTextFile<RegressionData>(dataPath,// 默认分隔符是tab,但数据集使用分号。separatorChar: ';'
);// 有时,当数据要在某个地方多次使用时,在首次访问后将数据缓存在内存中可以节省一些加载时间。缓存机制也是延迟执行的;它只在使用后才缓存东西。用户可以用“cachedTrainData”替换“trainData”的所有后续用法。
// 我们仍然使用“trainData”,因为提供相同缓存功能的缓存步骤将插入到所考虑的“管道”中。
var cachedTrainData = mlContext.Data.Cache(trainData);// 第二步:定义学习管道。// 我们用加载器的输出“启动”管道。
var pipeline =// 首先“规范化”数据(对于所有样本,重新缩放到-1和1之间)mlContext.Transforms.NormalizeMinMax("FeatureVector")// 我们增加了一个在内存中缓存数据的步骤,使得下游的迭代训练算法能够有效地对数据进行多次扫描。否则,下面的训练器将多次从磁盘加载数据。缓存机制使用按需策略。// 在任何下游步骤中访问的数据都将在首次使用后被缓存。通常,您只需要在可训练步骤之前添加一个缓存步骤,因为如果数据只扫描一次,则缓存没有帮助。如果用户没有足够的内存来存储整个数据集,则可以删除此步骤。请注意,在上游Transforms.Normalize步骤中,我们只扫描数据一次,因此添加缓存步骤是没有帮助的。.AppendCacheCheckpoint(mlContext)// 添加SDCA回归训练器。.Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Target", featureColumnName: "FeatureVector"));//第三步: 在管道上调用`Fit`
var model = pipeline.Fit(trainData);

参考资料

[1]

示例文件: https://github.com/dotnet/machinelearning/blob/main/test/data/generated_regression_dataset.csv

ML.NET Cookbook:(7)如何训练回归模型?相关推荐

  1. 简单数据预测—使用Python训练回归模型并进行预测(转自蓝鲸网站分析博客)

     使用Python训练回归模型并进行预测 回归分析是一种常见的统计方法,用于确定不同变量间的相互关系.在Excel中可以通过数据分析菜单中的回归功能快速完成.本篇文章将介绍在python中使用机器 ...

  2. 怎么用python进行回归预测_使用Python训练回归模型并进行预测

    摘要:本篇文章将介绍在python中使用机器学习库sklearn建立简单回归模型的过程. 回归分析是一种常见的统计方法,用于确定不同变量间的相互关系.在Excel中可以通过数据分析菜单中的回归功能快速 ...

  3. 最佳回归模型选择指标——马洛斯CP值

    本文介绍最佳回归模型选择指标--马洛斯CP指标,并通过示例说明选择过程及如何计算. 马洛斯CP(Mallows'Cp) 指标用于在多个不同模型中选择最佳回归模型.其计算公式为: Cp = RSSp/S ...

  4. Spark排序算法系列之(MLLib、ML)LR使用方式介绍(模型训练、保存、加载、预测)

    转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thi ...

  5. R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型、通过method参数指定算法名称、通过trainControl函数控制训练过程

    R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型.通过method参数指定算法名称.通过trainControl函数控制训练过程 目录

  6. R语言构建xgboost模型:使用xgboost模型训练tweedie回归模型,特征工程(dataframe转化到data.table、独热编码、缺失值删除、DMatrix结构生成)

    R语言构建xgboost模型:使用xgboost模型训练tweedie回归模型,特征工程(dataframe转化到data.table.独热编码.缺失值删除.DMatrix结构生成) 目录

  7. ML之xgboostGBM:基于xgboostGBM算法对HiggsBoson数据集(Kaggle竞赛)训练(两模型性能PK)实现二分类预测

    ML之xgboost&GBM:基于xgboost&GBM算法对HiggsBoson数据集(Kaggle竞赛)训练(两模型性能PK)实现二分类预测 目录 输出结果 设计思路 核心代码 输 ...

  8. ML之LiR:使用线性回归LiR回归模型在披萨数据集上拟合(train)、价格回归预测(test)

    ML之LiR:使用线性回归LiR回归模型在披萨数据集上拟合(train).价格回归预测(test) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 r= LinearRegressi ...

  9. ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2)

    ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 for iStep in ...

最新文章

  1. JSP JavaBean
  2. 20岁以后的男人应该知道的一些事,看一看吧
  3. VueJS ReactJS 如何?听听别人怎么说。
  4. 15年3月c语言试卷,2015年3月二级C语言新增无纸化真题试卷(三)
  5. python模拟购物车购物过程_Python基于数列实现购物车程序过程详解
  6. 实现等待wx.login完成后在执行其他请求
  7. 联想服务器imm默认地址_命令下配置ip地址
  8. 第四篇、Tomcat 集群
  9. Python下载prettyloaded的swf
  10. 装双系统?不需要 教你在iMac上流畅使用Windows
  11. matlab调用cplex
  12. BZZ节点如何成为有效节点,BZZ节点优势
  13. 学好算法,真的需要智商吗?
  14. 密钥管理系统研究(一)
  15. 没有互联网,如何本地获取到LoRaWAN的终端数据?
  16. java 两张图片叠加合并
  17. Android Studio使用技巧
  18. thinkphp ajax 跨域请求 Access-Control-Allow-Origin 完美解决
  19. 游戏服务器开发环境搭建
  20. 如何恢复录音删除的录音文件_手机通话录音后!点击这个按钮,就能将录音文件一键转为文字...

热门文章

  1. pythonista3安装stash_Pythonista下stash安装教程
  2. 1.ASP.NET Core介绍
  3. Activity的呼叫转移*(3个Activity之间的跳转)
  4. 【编程大系】Java资源汇总
  5. Alamofire源码导读二:发起请求及内部加锁的逻辑
  6. 静态html引入js添加随机数后缀防止缓存
  7. 有两个地方,用到了javabean对象和属性字符串值之间的转换
  8. python去掉字符串中空格的方法
  9. System.FormatException: GUID 应包含带 4 个短划线的 32 位数(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。...
  10. 如何让两个安装程序setup共享同一个component—— installing shared files(version:installshield develop8.0)...