怎么在Python中执行套索和岭回归,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
导入库
与任何项目一样,导入常用的库,这将有助于执行基本的数据操作和绘图。
现在可以开始探索性数据分析。
探索性数据分析
首先导入数据集并查看前五行:
你应该看到:
请注意,Unnamed:0 列无用。把它拿出来。
现在数据集如下所示:
如您所见,只有三种广告媒介,销售是目标变量。
看看每个变量如何通过制作散点图来影响销售。首先构建一个辅助函数来制作散点图:
现在可以为每个功能生成三个不同的图。
得到以下内容:
关于电视广告上花钱的销售
关于花在广播广告上的钱的销售
关于报纸广告花费的销售额
正如您所看到的,电视和广播广告似乎是销售的良好预测因素,而销售和报纸广告之间似乎没有相关性。
幸运的是,数据集不需要进一步处理,因此准备立即进行建模!
模型
多元线性回归 – 最小二乘拟合
在完成之前,先来看看代码的样子。
首先,导入LinearRegression和cross_val_score 对象。第一个将允许拟合线性模型,而第二个对象将执行k倍交叉验证。
然后定义特征和目标变量。
该cross_val_score将返回MSE的阵列为每个交叉验证步骤。在例子中有五个。因此,采用MSE的意思并打印出来。应该得到-3.0729的负MSE。
现在,看看岭回归或套索是否会更好。
岭回归
对于岭回归,引入了GridSearchCV。这将允许使用一系列不同的正则化参数自动执行5次交叉验证,以便找到alpha 的最佳值。
代码如下所示:
然后,可以通过以下方式找到最佳参数和最佳MSE:
应该看到alpha的最佳值为20,负MSE为-3.07267。这是基本多元线性回归的略微改进。
套索
对于套索,遵循与岭回归非常相似的过程:
在这种情况下,alpha的最佳值为1,负MSE为-3.0414,这是所有三个模型的最佳分数!
现在知道如何在Python中使用套索和岭回归。在这种情况下已经看到套索是最合适的方法,正则化值为1。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/230931.html