ML.NET Cookbook:(11)如果我的训练数据不在文本文件中怎么办?

对于ML.NET,通常演示的用例是当训练数据驻留在磁盘的某个地方时,我们使用TextLoader来加载它。然而,在真实的训练场景中,训练数据可以在其他地方:在一堆SQL表中,从日志文件中提取,甚至动态生成。

下面是我们如何使用模式理解[1]将现有的C#IEnumerable作为数据视图引入ML.NET。

在本例中,我们假设我们建立了客户流失预测模型,并且我们可以从生产系统中提取以下特征:

  • 客户ID(模型忽略)

  • 客户是否有流失(目标“标签”)

  • “人口统计类别”(字符串,如“年轻人”等)

  • 最近5天的访问次数。

private class CustomerChurnInfo
{public string CustomerID { get; set; }public bool HasChurned { get; set; }public string DemographicCategory { get; set; }// 最近5天内的访问,最早到最新。[VectorType(5)]public float[] LastVisits { get; set; }
}

有了这些信息,下面就是我们如何将这些数据转换为ML.NET数据视图并对其进行训练的方法:

// 第一步:将数据加载为IDataView。
// 假设“ GetChurnData()”从某处获取并返回训练数据
IEnumerable<CustomerChurnInfo> churnData = GetChurnInfo();var trainData = mlContext.Data.LoadFromEnumerable(churnData);// 建立学习管道。
// 在我们的案例中,我们将对人口统计类别进行一次编码,然后将其与访问次数结合起来。
// 我们应用FastTree二进制分类器来预测“ HasChurned”标签。var pipeline =// 将分类功能“DemographicCategory”转换为独热编码。mlContext.Transforms.Categorical.OneHotEncoding("DemographicCategoryOneHot", "DemographicCategory")// 将所有分类特征转换为索引,并构建一个“词袋”。.Append(mlContext.Transforms.Concatenate("Features", new[] { "DemographicCategoryOneHot", "LastVisits" }).Append(mlContext.BinaryClassification.Trainers.FastTree());var model = pipeline.Fit(trainData);

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

参考资料

[1]

模式理解: https://github.com/dotnet/machinelearning/blob/main/docs/code/SchemaComprehension.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机表演赛新疆赛区,【图】第二十六届中国儿童青少年威盛中国芯HTC计算机表演赛“中国电信天翼杯”新疆赛区总决赛圆满结束_乌鲁木齐教育信息网...

新疆赛区自2006年首次参加中国儿童青少年计算机表演赛至今&#xff0c;已经连续成功举办了十一届赛事。第二十六届中国儿童青少年威盛中国芯HTC计算机表演赛“中国电信天翼杯”新疆赛区活动启动以来&#xff0c;新疆赛区组委会办公室积极组织专家通过网络直播形式对全疆各级信息…

VC中新建的类不见了的解决方法

方法工程(project&#xff0c;然后add to project 然后 files,把不见得类.cpp和.h文件包含进来或者1、关闭工程2、把.ncb和.clw文件删除3. 重新打开工程

postgresql 动态添加过滤条件_通过窗口函数进行过滤导致Postgresql

好的,最初这只是我们与我的一个朋友的笑话,但它变成了有趣的技术问题:)我有以下的表格&#xff1a;CREATE TABLE stuff(id serial PRIMARY KEY,volume integer NOT NULL DEFAULT 0,priority smallint NOT NULL DEFAULT 0,);该表包含所有我的东西的记录,具有相应的卷和优先级(我…

基于Redis的分布式锁和Redlock算法

在单进程的系统中&#xff0c;当存在多个线程可以同时改变某个变量&#xff08;可变共享变量&#xff09;时&#xff0c;就需要对变量或代码块做同步&#xff0c;使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻…

css-6 df15,webpack 样式文件的代码分割(15)

获取全套webpack 4.x教程&#xff0c;请访问瓦力博客在上一小节&#xff0c;我们将开发环境和生产环境区分开来。这一小节&#xff0c;我们来操作如何将样式文件的代码分割。1.安装yarn add mini-css-extract-plugin此插件将CSS提取到单独的文件中。它为每个包含CSS的JS文件创建…

基于mini2440的ov9650摄像头裸机测试

mini2440提供了一个摄像头接口&#xff0c;可以输出RGB24,RGB16的原始图像还可以输出编码的如YUV格式的图像&#xff0c;并提供了偏移翻转&#xff0c;放大缩小的功能。与开发板配套的摄像头模块为CAM130,采用ov9650的芯片。操作摄像头接口实现视频的采集与显示&#xff0c;主要…

据说这是史上最牛逼的可视化神器

全世界只有3.14 % 的人关注了数据与算法之美我们粉丝里面有很多小伙伴喜欢玩数据分析&#xff0c;粗略估计有几千人。数据分析离不开数据可视化。比如我们前面介绍过pandas画图&#xff0c;matplotlib画图&#xff0c;pyecharts画图当然还有Tableau&#xff0c;今天推荐一款更牛…

excel统计分析——S-W正态性检验

参考资料&#xff1a; [1]马兴华,张晋昕.数值变量正态性检验常用方法的对比[J].循证医学,2014,14(02):123-128. 统计推断——正态性检验&#xff08;图形方法、偏度和峰度、统计&#xff08;拟合优度&#xff09;检验&#xff09;_sm.distributions.ecdf-CSDN博客 【统计学】…

怎能错过这个技术集市!转发有奖,惊喜连连!

点击蓝字 关注我们Learn. Connect. Code. 微软一年一度的Build大会即将拉开帷幕&#xff08;5月25-27日&#xff09;&#xff0c;今年的主题演讲&#xff0c;全球CEO Satya Nadella将会深入我们的工作&#xff0c;探讨开发者速度&#xff0c;智能云原生应用&#xff0c;以及在…

百度云cdn设置州五年制大专_[百度云CDN]配置过程坑点集合

图片字体图标访问不正常&#xff1f;CDN直接403或404&#xff1f;防盗链挡了自家网站&#xff1f;QPS和CORS莫名其妙&#xff1f;本文将总结百度云CDN使用过程中——回源HOST与源站地址&#xff0c;防盗链白名单Referer&#xff0c;IP访问限频QPS&#xff0c;跨域访问CORS——这…

文件服务器搭建centos,centos8搭建ftp文件服务器

1.安装vsftpdyum install -y vsftpd2.执行以下命令设置FTP服务开机自启动systemctl enable vsftpd.service3.执行以下命令启动FTP服务systemctl start vsftpd.service4.执行以下命令创建ftp用户useradd ftpuser5.执行以下命令并按照提示设置“ftpuser"用户密码passwd ftpu…

CSS 类选择器

在CSS 中&#xff0c;类选择器以一个点号显示&#xff1a; .center {text-align: center} 在上面的例子中&#xff0c;所有拥有 center 类的 HTML 元素均为居中。 在下面的 HTML 代码中&#xff0c;h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择…

将历史、数学、语文、地理、政治知识融会贯通的诀窍就是它

▲卢sir特别推荐点击上图进入玩酷屋在这个知识都是碎片化的时代&#xff0c;系统化的知识&#xff0c;显得弥足珍贵。今天小木就专门给大家推荐一套&#xff0c;将知识系统化整理&#xff0c;放到时间轴上展示的——《时间上的人物谱》里。这是一套特别的工具书&#xff0c;是一…

Nginx实战部署常用功能演示(超详细版),绝对给力~~~

前言上次分享了一些开发过程中常用的功能&#xff0c;但如果到真实环境中&#xff0c;其实还需要一些额外的配置&#xff0c;比如说跨域、缓存、配置SSL证书、高可用等&#xff0c;老规矩&#xff0c;还是挑几个平时比较常用的进行演示分享。上篇详见Nginx超详细常用功能演示&a…

程序员,为什么给你50万年薪,你还要搞死我公司?

全世界只有3.14 % 的人关注了数据与算法之美小卢,今天看到一条让人吐血的新闻。1月20日&#xff0c;深圳市某互联网游戏公司程序员燕某在游戏上线测试的当天&#xff0c;锁死了服务器与电脑&#xff0c;并恶意失踪&#xff0c;致公司损失惨重的事在网上曝光并引起热议。这到底是…

访问Web服务器时 使用的协议是,使用SOAP协议访问Web服务

SOAP是简单对象访问协议&#xff0c;它可看成是HTTP与XML的结合&#xff0c;其中XML部分是作为HTTP报文的实体主体部分。SOAP&#xff1a;简单对象访问协议&#xff0c;是一种轻量的、简单的、基于 XML 的协议&#xff0c;它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP …

同时画多个饼图_手帐术 | 这个神奇饼图里,藏着时间管理的小秘诀

说起效率管理kk首先想到的就是时间饼了简直就是拖延症的救星啊&#xff01;&#xff01;&#xff01;不仅能帮我们规划日程而且相比于时间轴来说可视化更强今天kk就来介绍一下时间饼的使用方法~时间饼类型时间饼一共分为几种12h、15h、18h、24h等时间越长分的越细12小时12h适合…

Dotnet创建Linux下的Service应用

创建Service应用&#xff0c;是一个服务端开发的必会技能。前言说到服务端应用&#xff0c;最常见的就是API服务。除此之外&#xff0c;还有一类应用&#xff0c;比方一个Socket的服务器。这类型的应用&#xff0c;本身没有Web层&#xff0c;当然也不属于API服务。通常大家会怎…

【转】java io 总结(图)

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/dlpinghailinfeng/blog/91191

TensorFlow的各种应用,你晓得不?

近几年&#xff0c;AI 的重大进展对我们的日常生活产生了积极影响。随着Google发布了《Google AI 原则》( Google AI Principles )&#xff0c;它们为 AI 发展提供了一个框架。由于这一领域的发展非常迅速&#xff0c;一些原则的最佳实践&#xff0c;如 “ 避免制造或加强不公平…