版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲人:***第13章钻石数据分析与预测13-10月-23Python数据分析与数据挖掘目录contents案例背景0102数据加载和预处理03探索性数据分析04回归模型预测05小结案例背景0113.1案例背景
钻石是由透明无色的纯碳晶体构成的宝石,是人类已知的最坚硬的宝石,只能被其他钻石刮擦。由于钻石储量稀少、加工过程复杂,导致钻石价格昂贵。Diamonds数据集是一个经典的回归分析数据集,我们可以从kaggle的官网下载,网址为:/shivam2503/diamonds。diamonds.csv数据集包含了近54000颗钻石的价格和其他属性。数据集的目标列为钻石的价格price,另外包括9个属性,包括克拉carat、切割cut、颜色color、透明度clarity、钻石的深度比例depth、钻石的桌面比例table、以毫米为单位的钻石的长x、宽y、高z。13.1案例背景
数据集中的属性特征:(1)price(目标列,以美元为单位的钻石价格,取值范围:$326--$18,823);(2)carat(钻石重量,取值范围:0.2--5.01);(3)cut(钻石切割质量,取值范围:Fair,Good,VeryGood,Premium,Ideal);(4)color(钻石的颜色,从J到D,分别代表从最差到最佳);(5)clarity(钻石的透明度的指标,取值为I1,SI2,SI1,VS2,VS1,VVS2,VVS1,IF,分别代表最差到最佳);(6)x(钻石的长度,取值范围为0--10.74毫米);(7)y(钻石的宽度,取值范围为0--58.9毫米);(8)z(钻石的深度,取值范围为0--31.8毫米);(9)depth(总深度百分比,定义为:depth=z/mean(x,y)=2*z/(x+y)(43--79));(10)table(相对于最宽点的菱形顶部宽度,取值范围:43--95)。本案例的目的是要用钻石的重量、切割质量、颜色等属性预测钻石价格。数据加载和预处理0213.2数据加载和预处理1、加载需要的库及读入数据13.2数据加载和预处理2、数据信息初步分析结果:通过以上对数据的初步分析可知,数据集中共有53940行,11列。索引列Unnamed:0为int64类型,carat、depth、table、x、y、z列和目标列price为float64类型,cut、color和clarity列为object类型,数据集中各列均没有空值。13.2.3数据预处理
通过对数据的初步分析可知,钻石数据集首列Unnamed:0是为数据加的索引列,对钻石的价格预测不起作用,因此将该列从数据中删除,语句如下:1、去掉不需要的列13.2.3数据预处理
检查数据集中是否有缺失值,并进行相应处理:2、缺失值处理13.2.3数据预处理
离群点(outlier)是指数据中和其他观测点偏离非常大的数据点。离群点是异常的数据点,但不一定是错误的数据点。离群点可能会对数据分析、数据建模等工作带来不利的影响,例如,增大错误方差、影响预测和影响数据正态性等,GBDT等模型对异常值很敏感。因此,离群点(outlier)是数据预处理的重要环节。可以采用对数据绘制散点图、箱线图等方式检测离群点。3、离群点检测及处理13.2.3数据预处理
通过箱线图、散点图和回归关系图的分析,发现数值型列depth、table、y和z中存在比较明显的离群点,可以用下面的语句删去数据集中的离群点。3、离群点检测及处理删除离群点后,数据集的维度由(53920,10)变为(53907,10),说明有13条数据被删除。13.2.3数据预处理
本例将采用多种回归模型对钻石价格price进行预测,因此,需要将类别特征进行编码处理,转换为数值型数据。类别特征(categorical)是包含标签值而非数值的列,列的取值通常为一个固定的集合。类别特征也可称为分类变量或名义变量。许多机器学习算法不能直接对类别特征进行处理,它们要求所有输入变量和输出变量都是数值型变量,此时需要对类别特征进行处理,将其转换为数值类型。如果类别特征是输出变量,可能还需要将模型的数值型预测结果转换为类别形式,以便在某些应用中显示或使用结果。
4、类别特征的处理本例中,我们首先将数据df复制到label_df中,避免更改原始数据,然后采用标签编码方式对类别变量进行编码,转换为数值型,转换后label_df中所有列均为数值型。探索性数据分析03首先查看各个类别特征中数据的分布情况。13.3.1类别特征分析将使用seaborn的displot函数,对钻石数据集中的数值型特征carat、depth、table、x、y、z列和目标列price进行分析,以便了解数据的趋势和分布。
结果可知,特征carat,price和x的数据分布向右倾斜,特征y和z的分布呈锯齿状。特征depth的数据分布相当对称,接近正态分布。同时,本数据集中的各个数值型特征在每一侧都有长尾,这表明可能存在极值。13.3.2数值特征分析13.3.3相关性分析在查看单个变量分布的基础上,有时也需要查看变量之间的联系,可以使用pairplot绘制成对变量的关系图,分析变量间是否存在线性关系,有无较为明显的相关关系。1、pairplot图分析从输出结果可知,x、y、z、carat和price之间存在较明显的线性关系,"depth"、"table"与price的线性关系较弱。13.3.3相关性分析seaborn中的jointplot是联合分布图,可以深入地分析两个特征的相关性。jointplot函数用于将成对特征的相关情况、联合分布以及各自的分布在一张图上集中呈现,是相关性分析最常用的工具,jointplot图上还能展示回归曲线及相关系数。在下例中,使用jointplot分别显示特征'carat'与'price'、特征'depth'与'price'之间的相关性。2、jointplot图分析从输出可知,钻石的carat特征与钻石的价格price有较强的正相关关系,depth与price之间存在较弱的负相关关系。13.3.3相关性分析可计算钻石价格price与其他特征的相关度,并排序显示。3、价格与其他特征的相关度13.3.3相关性分析可以用热度图heatmap来观察所有特征之间的相关性。生成热度图的语句如下:4、生成相关性热度图由相关性分析可知,钻石的重量特征carat和维度特征x、y、z是钻石价格的决定因素,而特征table和depth与价格Price的相关度较低,对钻石价格的影响较小,可以考虑在进行回归分析前,将其删除,我们在13.4中的分析中暂时先保留这两个特征。回归模型预测0413.4回归模型预测
本节将构建线性回归、岭回归、Lasso回归、随机森林回归及XGB回归等多个模型,对钻石价格进行预测。我们首先将数据集分割成训练集和测试集,用训练集来训练模型,获取所有模型在训练集上交叉验证的均方根误差RMSE,选择在训练数据集上交叉验证RMSE平均值最小的模型,即在训练集上性能最佳的模型,用它对测试集数据进行预测,并使用测试集对模型进行评估。13.4回归模型预测
使用负均方根误差(neg_root_mean_squared_error)作为打分指标,对各个模型进行交叉检验,将所有模型交叉检验结果均值的绝对值保存到列表cv_results_RMSE中。Out:LinearRegression:1345.667893Ridge:1345.574389Lasso:1347.886019RFRegressor:553.466329XGBRegressor:552.122205输出各个模型在训练集上的RMSE结果,结果如下:13.4回归模型预测13.4回归模型预测对各个模型在训练集上的RMSE平均值进行排序,结果保存在RMSE_on_train_sorted中,并作图显示显示各个模型在训练集上的RMSE。13.4回归模型预测13.4回归模型预测XGBRegressor的RMSE最小,说明其在训练集上预测性能最佳。选择XGBRegressor对测试数据进行价格预测,并输出均方误差MSE、平均绝对误差MAE、均方根误差RMSE、决定系数R2、校正决定系数(AdjustedR2)等各项评价指标。XGBRegressor回归模型在测试集上的决定系数R2及校正决定系数(AdjustedR2)均接近1,说明该模型在测试集上预测性能较好。小结0513.5本章小结本章利用Python中的sklearn等常用数据分析与挖掘相关库,对经典的回归数据集钻石数据集进行分析和预测。在本案例的目标是根据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工地钢筋安装合同范例
- 钢材类产品合同范例
- 评估业务合作合同范例
- 水电补偿协议合同范例
- 中介卖地合同范例
- 蛋壳公寓托管合同范例
- 丹棱租房合同范例
- 竹炭供货合同范例
- 空调修理费合同范例
- 承包露营场地合同范例
- 2023年湖南体育职业学院高职单招(语文)试题库含答案解析
- GB/T 39314-2020铝合金石膏型铸造通用技术导则
- GB/T 17252-1998声学100kHz以下超声压电换能器的特性和测量
- 装饰装修施工质量检查评分表
- 非开挖施工技术讲稿课件
- 单绒毛膜双羊膜囊双胎2022优秀课件
- 《思想道德与法治》 课件 第四章 明确价值要求 践行价值准则
- 北师大版八年级上数学竞赛试卷
- 幼儿园讲座:课程游戏化、生活化建设的背景与目的课件
- 地理信息系统(GIS)公开课(课堂)课件
- 基本公共卫生服务项目工作存在问题整改情况汇报【六篇】
评论
0/150
提交评论