通常,一旦一个模型被训练出来,我们也会对“它学到了什么”感兴趣。

例如,如果线性模型为我们认为重要的特征赋予零权重,则可能表明建模存在一些问题。线性模型的权重也可用作对“特征重要性”的估计。

这是我们可以从训练的模型中提取学习到的参数的方法:


// 第一步:将数据加载为IDataView。
//  检索训练数据。
var trainData = mlContext.Data.LoadFromTextFile<IrisInput>(irisDataPath,// 默认分隔符是tab,但数据集使用逗号。separatorChar: ','
);// 建立学习管道。
var pipeline =// 将所有特征串联到一列“Features”中。mlContext.Transforms.Concatenate("Features", "SepalLength", "SepalWidth", "PetalLength", "PetalWidth")// 请注意,标签是文本,因此需要将其转换为键。.Append(mlContext.Transforms.Conversion.MapValueToKey("Label"), TransformerScope.TrainTest)// 在缓存检查点阶段之后的步骤中缓存内存中的数据。.AppendCacheCheckpoint(mlContext)// 利用多类SDCA模型对标签进行预测。.Append(mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy());// 训练模型。
var trainedModel = pipeline.Fit(trainData);// 检查模型参数。
var modelParameters = trainedModel.LastTransformer.Model as MaximumEntropyModelParameters;// 现在我们可以使用“modelParameters”来查看权重。
// “weights”是一个权重向量数组,每个类一个向量。
// 我们的问题有3个类,所以numclass将是3,权重将包含3个向量(每个向量有4个值)。
VBuffer<float>[] weights = default;
modelParameters.GetWeights(ref weights, out int numClasses);// numClasses
// 3
// weights
// {float[4]}       { float[4]}         { float[4]}
// 2.45233274       0.181766108         -3.05772042
// 4.61404276       0.0578986146        -4.85828352
// - 6.934741       -0.0424297452       6.63682
// - 3.64960361     -4.072106           7.55050659// 同样,我们也可以检查3个类的偏差。
var biases = modelParameters.GetBiases();
//   [0] 1.151999 float
//      [1] 8.337694 float
//   [2] -9.709775 float

欢迎关注我的个人公众号”My IO“

ML.NET Cookbook:(12)我想看看模型的系数相关推荐

  1. CakePHP 2.x CookBook 中文版 第七章 模型 之 检索数据

    检索数据 如前所述,模型层的一个角色是从多种存储中获取数据. CakePHP 模型类带有很多功能,帮助你搜索这些数据,排序,分页并且进行过滤.你将要使用的很多功能集成于模型的 Model::find( ...

  2. CakePHP 2.x CookBook 中文版 第七章 模型 之 关联:将模型连接在一起

    关联:将模型连接在一起 CakePHP 的一个非常强劲的特性就是由模型提供关系映射,通过关联来管理多个模型间的连接. 在应用程序的不同对象间定义关系是很自然的.例如:在食谱数据库,一个食谱可能有多个评 ...

  3. 【完结】总结12大CNN主流模型架构设计思想

    文章首发于微信公众号<有三AI> [完结]总结12大CNN主流模型架构设计思想 专栏<CNN模型解读>正式完结了,在这一个专栏中,我们给大家回顾了深度学习中的各类具有代表性的C ...

  4. MLOps极致细节:17. Azure ML Pipeline(机器学习管道),模型训练,打包和注册

    MLOps极致细节:17. Azure ML Pipeline(机器学习管道),模型训练,打包和注册 这两个章节中,我们将介绍Azure ML Pipeline的使用,并且结合MLFlow一起跟踪ML ...

  5. php的db类库Eloquent单独使用系列(12)- 结果集模型转数组 - 2

    [size=x-large]我的Eloquent单独使用系列文章[/size] [url=http://xieye.iteye.com/blog/2382907]php的db类库Eloquent单独使 ...

  6. R语言使用lm函数构建分层线性回归模型(添加分组变量构建分层线性回归模型)、使用coef函数提取分层线性回归模型的系数及截距、计算第一个分组的间距和斜率信息(第一个分组,对照组)

    R语言使用lm函数构建分层线性回归模型(添加分组变量构建分层线性回归模型).使用coef函数提取分层线性回归模型的系数及截距.计算第一个分组的间距和斜率信息(第一个分组,对照组) 目录

  7. R语言使用lm函数构建分层线性回归模型(添加分组变量构建分层线性回归模型)、使用coef函数提取分层线性回归模型的系数及截距

    ↵ R语言使用lm函数构建分层线性回归模型(添加分组变量构建分层线性回归模型).使用coef函数提取分层线性回归模型的系数及截距 目录

  8. ML.NET Cookbook:(10)如何使用模型做出一个预测?

    因为任何ML.NET模型都是一个转换器,所以您当然可以使用model.Transform将该模型应用于"数据视图"并以这种方式获得预测. 不过,更典型的情况是,没有我们想要预测的& ...

  9. ML.NET Cookbook:(7)如何训练回归模型?

    通常,为了在ML.NET中训练任何模型,您将经历三个步骤: 弄清楚训练数据如何以IDataView形式进入ML.NET. 将"学习管道"构建为一系列基本的"运算符&quo ...

最新文章

  1. C++ Builder初学问与答(十三)
  2. LeetCode Pow(x, n)
  3. java基础—Hashtable,HashMap,TreeMap的差别
  4. 科大星云诗社动态20210808
  5. Vue和其他框架的区别
  6. C++ SYN攻击源码
  7. Android—Binder+AIDL
  8. python os path isfile_Python path.isfile方法代码示例
  9. MyEclipse安装JS代码提示(Spket插件)
  10. HDU 4515 推断时间
  11. 计算机设计大赛安徽农业大学经济技术学院,信息与计算机系开展“学习‘学生违纪处分办法’”主题班会活动总结...
  12. 《Python Cookbook》笔记_列表等可迭代对象的解压赋值
  13. wordpress如何获得当前用户的头像
  14. 无限弹窗(bat代码 整人恶作剧)
  15. java vcf文件增量写入,用snpEFF对vcf格式的突变数据进行注释
  16. apple 官网系统软件下载如Command Line Tools下载
  17. 使用调色板(Palette)API 获取颜色
  18. pythonsze_python学习笔记二 数据类型(基础篇)
  19. (转)什么是PR?什么是BD?
  20. 干货!我开发 Android 是如何界面设计的

热门文章

  1. Python 2.7 Tutorial —— 流程控制
  2. 换工作了,开始用金蝶的BOS了,好多东西都要学啊!
  3. 学习了MPLS ×××
  4. linux启动时挂载rootfs的几种方式 .
  5. 三、SpringBoot-application.properties配置文件和application.yml配置文件
  6. java 的原码、补码、反码小总结
  7. Codeforces936C. Lock Puzzle
  8. 开源项目导入eclipse的一般步骤[转]
  9. 【原创】SQL SERVER 查询Job作业基本信息及执行情况
  10. 如何在ashx页面获取Session值(未将对象引用设置到对象的实例) (转)