本文将使用ML .NET的回归模型对二手车的价格进行训练,得到模型;
并且开发一个简单的预测程序用来预测二手车的价格。

数据集来源

在kaggle Used Cars Price Prediction中下载train-data.csvtest-data.csv
其中train-data.csv用于训练,test-data.csv用于评估
打开train-data.csv进行查看,

训练数据从左到右的列分别表示,序号、名称、所在地、年份、行驶车程、汽油种类、手动挡/自动挡、转手次数、里程、引擎、马力、座位、购买新车价格、当前价格
接下来对train-data.csv做一定的处理,
由于New_Price的数据不完整,且较少,将New_Price列去掉(这里也可以选择补齐数据)
由于Mileage列存在单位不同的问题,将Mileage列去掉(这里也可以选择对数据进行修改,保证数据一致)

开始训练

在项目中,创建训练模型

如图所示,进入一个可视化的配置页面,在方案一栏选择值预测

训练环境选择本地CPU

接下来选择数据源,数据源可以是.csv文件,.tsv文件,.txt文件,也可以是SQL Server数据库
这里我们选择.csv文件

读取文件后,选择高级数据选项,设置字段的具体作用
第一列是序号,是不需要的数据
第二列Name开始,到New Price都是影响二手车价格的因素,故设置为Feature
其中Fuel_TypeTransmissionOwner_Type为枚举字段,故勾选分类
最后一列为我们想要预测的数据,二手车价格,故设置为Label
最后为所有字段选择正确的数据类型,布尔、数字或者字符串


接下来ML .NET会进行训练,为我们选择合适的模型和参数


如果对训练结果不满意,可以增加训练时间,反复训练
以下是训练100秒后的结果

接下来有个预估功能,可以进行简单测试,如果不满意结果,就继续回到上一步重新训练

训练完成后,获得模型UsedCarsPricePredictionMLModel.zip

调用模型完成功能

写一个UI,输入数据,并预测价格

UsedCarsPricePredictionMLModel.consumption.cs文件中,
先读取模型文件,加载模型

private static PredictionEngine<ModelInput, ModelOutput> CreatePredictEngine()
{var mlContext = new MLContext();ITransformer mlModel = mlContext.Model.Load(MLNetModelPath, out var _);return mlContext.Model.CreatePredictionEngine<ModelInput, ModelOutput>(mlModel);
}

然后调用Predict方法,进行预测

var predEngine = PredictEngine.Value;
return predEngine.Predict(input);

注意,可以加载一次模型对象,然后重复利用,节省时间

关于评估

在模型正式投入使用之前,可以使用另外的数据集test-data.csv进行正确率的验证,不符合条件则重新训练

示例代码

UsedCarsPricePrediction

参考资料

10分钟快速入门
官方示例machinelearning-samples
教程:将回归与 ML.NET 配合使用以预测价格

ML .NET 二手车价格预测(一)相关推荐

  1. Python二手车价格预测(二)—— 模型训练及可视化

    系列文章目录 一.Python数据分析-二手车数据获取用于机器学习二手车价格预测 二.Python二手车价格预测(一)-- 数据处理 文章目录 系列文章目录 前言 一.明确任务 二.模型训练 1.引入 ...

  2. Python二手车价格预测(一)—— 数据处理

    文章目录 前言 一.数据 二.处理过程 1.引入库 2.读入数据 3.删除无效列与填充空值 4.数值型数据处理 5.日期型数据处理 6.二值型数据处理 7.One-Hot型数据处理 结语 前言 一年半 ...

  3. 【组队学习】【24期】河北邀请赛(二手车价格预测)

    河北邀请赛(二手车价格预测) 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondH ...

  4. 数据挖掘二手车价格预测 Task05:模型融合

    模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升.顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起.模型融合主要通过几部分来 ...

  5. 数据挖掘-二手车价格预测 Task04:建模调参

    数据挖掘-二手车价格预测 Task04:建模调参 模型调参部分 利用xgb进行五折交叉验证查看模型的参数效果 ## xgb-Model xgr = xgb.XGBRegressor(n_estimat ...

  6. 基于二手车价格预测——特征工程

    特征工程 特征工程 分析: 第一步:异常值处理 箱型图法: 第二步:特征构造 第三步:数据分桶 数据分桶详解 删除不需要的数据 特征归一化 总结--特征 1.特征构造: 2.异常类型处理 3.构造新特 ...

  7. 二手车价格预测task03:特征工程

    二手车价格预测task03:特征工程 1.学习了operator模块operator.itemgetter()函数 2.学习了箱线图 3.了解了特征工程的方法 (内容介绍) 4.敲代码学习,加注解 以 ...

  8. 二手车价格预测数据探索

    二手车价格预测数据探索 1.赛题理解 [类型]属于回归问题. [数据字段] 训练数据字段: 字段名字 含义 类型 name 汽车编码 int regDate 汽车注册时间 int model 车型编码 ...

  9. Datawhale task4打卡——二手车价格预测

    Datawhale task4打卡--二手车价格预测 1. 线性回归模型 1.1 *特征要求(易忽略) 1.2 *处理长尾分布(易忽略) 2. 模型性能验证 2.1 目标函数 2.2 交叉验证 2.2 ...

  10. 基于机器学习的二手车价格预测及应用实现(预测系统实现)

    1.摘要 随着中国汽车工业的迅速发展,国内的汽车数量也在迅速增长.新车销售市场已经逐渐饱和,而二手车交易市场正在兴起.但是,由于中国的二手车市场尚未成熟,与发达国家相比仍存在较大差距.其中一个重要原因 ...

最新文章

  1. 只讲关键点之兼容100+种关键点检测数据增强方法
  2. Android Jetpack组件之 Paging使用-源码
  3. c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
  4. 【Luogu】P3224永无乡(splay)
  5. 研究Xposed相关二:如何root android模拟器(android4.3.1)
  6. LNK2019无法解析的外部符号 public: static struct cv::Ptr class cv::xfeatures2d::SURF问题解决
  7. JavaScript和C#通用gb2312和utf8编码解码函数简单实现
  8. linux开启hadoop服务,Hadoop 2.7.4 关闭与启动
  9. Qt总结之十七:QByteArray类型里含中文的数据解析出现乱码
  10. 记录.net 中的常见术语
  11. 太极越狱重大安全后门
  12. FPGA按键消抖—两种按键消抖形式的对比
  13. centos7 设置网络(静态ip),联网失败,DNS解析失败(被覆盖),虚拟机
  14. android星星闪效果,css3夜空中闪烁的星星效果
  15. Oracle11g64位安装教程
  16. 拼团返利电商系统(拼返系统)v2.6
  17. openCV图片倾斜矫正(java版)
  18. Unity | 动画那些事儿
  19. MySQL子查询(嵌套查询)
  20. 北宋三司若干问题研究

热门文章

  1. 百度API开发中的误区记录
  2. Typora-Markdown使用教程
  3. OSChina 周六乱弹 ——这事你搞的好,就当法国总统,搞不好……
  4. 3D打印+粉末冶金,打开碳化硅反射镜轻量一体化制造大门
  5. 了解android开发_开始Android开发时应了解的11件事
  6. 平方根法matlab算法,matlab平方根法和改进平方根法求解线性方程组例题与程序.doc...
  7. C++手写操作系统学习笔记(一)——操作系统引导和安全模式
  8. 新概念3 课文和单词(L1-L5)
  9. 3.内幕交易识别模型的构建-机器学习
  10. ESD门禁管理系统的主要功能和优势