阿里云天池二手车预测笔记

二手车预测是回归问题(即拟合数据并预测未知连续数值)。由于该问题涉及多个输入特征和维度,神经网络模型是一个不错的解决方法。

在数据挖掘与机器学习的竞赛中,通常我们先写一个baseline来作出初始的模型。 baseline一般包含以下几个部分:

数据导入,数据预处理,模型选择,模型评估与训练,预测与提交,迭代与改进。

一、数据导入 首先导入所以需要的相关库,如pandas, numpy, torch等。并打开所提供的测试集、训练集。

(若所打开的文件不整齐,可能是分隔符不对,在代码中添加sep=''让数据更整齐, 若在excel中观察:发现所有数据都挤在一个单元格里,可以点击数据工具中的分列,重新制定分隔符)

二、数据预处理

1.数据清洗打开数据表,观察数据是否有缺失值、异常值、重复数据等。观察发现数据与题目。

(1)存在列有缺失值。

(2)notRepaired列为字符串类型。为了后续更好处理,作出以下措施:使用fillna()函数, 将离散变量的空值替换为−1,连续变量的空值替换为0。

2.特征转化将特征转换为更适合模型训练的形式。这包括数据的无量纲化 (如标准化和归一化)、二值化、多项式特征生成、独热编码等,这里我们进行了独热编码和归一化处理。

独热编码 (One-Hot Encoding) 是一种处理分类数据 (离散数据)的方法,它将每个类别的值转换为一个新的二进制列。在独热编码中,每个类别都被表示为一个只有在该类别出现时才为1,其余情况都为0的向量。这种方法允许算法将类别数据当作数值数据来处理,同时保留了类别之间的独立性。

3.数据划分

(1)重新划分测试集和训练集由于前面合并了数据集,所以在这里又重新划分开了测试集和训练集。同时又进行了一些小操作:随机打乱数据:确保模型从数据中真的提取到了特征,提高模型泛化性,而非仅仅记住了某些顺序。

(2)分离特征值在训练集中, 将price列单独分离

(3)划分验证集在分离出的特征列中再次划分出验证集,用于评估和调整模型参数。

三、建立神经网络 ·

定义网络结构:选择合适的网络架构,包括层数、每层的节点数、激活函数等。

初始化网络参数:随机初始化网络中的权重和偏置。

定义损失函数:选择一个损失函数来评估模型的预测性能。回归问题常用损失函数有MSE(均方误差) , MAE (平均绝对误差) ,MSLE (均方对数误差) 。

选择优化器:选择一个优化算法来调整网络参数,以最小化损失函数。广泛使用的是Adam和SGD。

训练网络:使用训练数据迭代地训练网络,通过前向传播计算损失,然后通过反向传播更新权重。

验证和测试:使用验证集和测试集评估模型的性能。利用之前导入的matplotlib可以把模拟图像化,观察模型拟合情况。

最后price即为预测价格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值