ML .NET 二手车价格预测(一)
本文将使用ML .NET的回归模型
对二手车的价格进行训练,得到模型;
并且开发一个简单的预测程序用来预测二手车的价格。
数据集来源
在kaggle Used Cars Price Prediction中下载train-data.csv
和test-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_Type
、Transmission
、Owner_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 二手车价格预测(一)相关推荐
- Python二手车价格预测(二)—— 模型训练及可视化
系列文章目录 一.Python数据分析-二手车数据获取用于机器学习二手车价格预测 二.Python二手车价格预测(一)-- 数据处理 文章目录 系列文章目录 前言 一.明确任务 二.模型训练 1.引入 ...
- Python二手车价格预测(一)—— 数据处理
文章目录 前言 一.数据 二.处理过程 1.引入库 2.读入数据 3.删除无效列与填充空值 4.数值型数据处理 5.日期型数据处理 6.二值型数据处理 7.One-Hot型数据处理 结语 前言 一年半 ...
- 【组队学习】【24期】河北邀请赛(二手车价格预测)
河北邀请赛(二手车价格预测) 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondH ...
- 数据挖掘二手车价格预测 Task05:模型融合
模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升.顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起.模型融合主要通过几部分来 ...
- 数据挖掘-二手车价格预测 Task04:建模调参
数据挖掘-二手车价格预测 Task04:建模调参 模型调参部分 利用xgb进行五折交叉验证查看模型的参数效果 ## xgb-Model xgr = xgb.XGBRegressor(n_estimat ...
- 基于二手车价格预测——特征工程
特征工程 特征工程 分析: 第一步:异常值处理 箱型图法: 第二步:特征构造 第三步:数据分桶 数据分桶详解 删除不需要的数据 特征归一化 总结--特征 1.特征构造: 2.异常类型处理 3.构造新特 ...
- 二手车价格预测task03:特征工程
二手车价格预测task03:特征工程 1.学习了operator模块operator.itemgetter()函数 2.学习了箱线图 3.了解了特征工程的方法 (内容介绍) 4.敲代码学习,加注解 以 ...
- 二手车价格预测数据探索
二手车价格预测数据探索 1.赛题理解 [类型]属于回归问题. [数据字段] 训练数据字段: 字段名字 含义 类型 name 汽车编码 int regDate 汽车注册时间 int model 车型编码 ...
- Datawhale task4打卡——二手车价格预测
Datawhale task4打卡--二手车价格预测 1. 线性回归模型 1.1 *特征要求(易忽略) 1.2 *处理长尾分布(易忽略) 2. 模型性能验证 2.1 目标函数 2.2 交叉验证 2.2 ...
- 基于机器学习的二手车价格预测及应用实现(预测系统实现)
1.摘要 随着中国汽车工业的迅速发展,国内的汽车数量也在迅速增长.新车销售市场已经逐渐饱和,而二手车交易市场正在兴起.但是,由于中国的二手车市场尚未成熟,与发达国家相比仍存在较大差距.其中一个重要原因 ...
最新文章
- 只讲关键点之兼容100+种关键点检测数据增强方法
- Android Jetpack组件之 Paging使用-源码
- c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
- 【Luogu】P3224永无乡(splay)
- 研究Xposed相关二:如何root android模拟器(android4.3.1)
- LNK2019无法解析的外部符号 public: static struct cv::Ptr class cv::xfeatures2d::SURF问题解决
- JavaScript和C#通用gb2312和utf8编码解码函数简单实现
- linux开启hadoop服务,Hadoop 2.7.4 关闭与启动
- Qt总结之十七:QByteArray类型里含中文的数据解析出现乱码
- 记录.net 中的常见术语
- 太极越狱重大安全后门
- FPGA按键消抖—两种按键消抖形式的对比
- centos7 设置网络(静态ip),联网失败,DNS解析失败(被覆盖),虚拟机
- android星星闪效果,css3夜空中闪烁的星星效果
- Oracle11g64位安装教程
- 拼团返利电商系统(拼返系统)v2.6
- openCV图片倾斜矫正(java版)
- Unity | 动画那些事儿
- MySQL子查询(嵌套查询)
- 北宋三司若干问题研究
热门文章
- 百度API开发中的误区记录
- Typora-Markdown使用教程
- OSChina 周六乱弹 ——这事你搞的好,就当法国总统,搞不好……
- 3D打印+粉末冶金,打开碳化硅反射镜轻量一体化制造大门
- 了解android开发_开始Android开发时应了解的11件事
- 平方根法matlab算法,matlab平方根法和改进平方根法求解线性方程组例题与程序.doc...
- C++手写操作系统学习笔记(一)——操作系统引导和安全模式
- 新概念3 课文和单词(L1-L5)
- 3.内幕交易识别模型的构建-机器学习
- ESD门禁管理系统的主要功能和优势