公章的电子版word文档是怎么弄成的,如何把公章变成电子版
关注~,更多商业数据分析案例等着你。
序
在构建多元线性回归模型时,如果能充分利用现有变量或将其转化为另一个可用变量,模型的精度和泛化能力都会得到一定程度的提高。因为数据集中的名义变量(或类别变量)不能直接使用,所以哑变量(也叫哑变量)的设置是必须掌握的经典步骤。原理简单,实现优雅,效果出众。
有趣的原理分析
关于虚拟变量的官方解释,有价值的随笔,虚拟变量的深入应用和拓展,作者已经打包好了。私信我就行了,我每天固定时间都会检查他们。因为虚拟变量的原理其实很简单,如何有趣快速的理解原理并应用到实际的Python程序中,是本文的重点。
把一个不能直接用于建模的名义变量转换成可以放入模型的虚拟变量,核心就八个字:散点,非此即彼。下面是一个只有4行的微型数据集。
从上表不难发现,如果名义变量有N个类,N个名义变量可以拆分。
巧妙的利用0和1,用虚拟变量列代替原来名义变量的类别。
下一步是将生成的哑变量放入多元线性回归模型,但需要注意的是,转换后的哑变量需要丢弃一个才能得到满秩矩阵。关于线性代数的具体原因和解释,可以在作者的打包论文中找到。我们可以理解,当名义变量可以分为N类时,只需要n-1个哑变量就足以知道所有的信息。丢弃哪一个可以根据实际情况决定。
至于使用哑变量的建模结果,可以继续往下看。
达到效果
数据读取
属性邻域:邻域(A,B,C,D)
面积:住房面积
卧室:卧室区
浴室:浴室区
风格:房屋类型(乡村别墅/维多利亚/阁楼风格)
价格:房价(美元)
statsmodels的ols函数(最小二乘法)用于建立多元线性回归模型。
向原始数据集的标称变量添加虚拟变量:提取要转换的标称变量。
Python熊猫的Get_dummies函数
与原始数据集水平拼接
再次建模后,发现模型的精度有了很大的提高。
作者特意没有把类别变量样式变成哑变量,是为了合理留白,让读者自己尝试体验“惊喜”的结果。
结果描述
因此最终建模结果为:房价价格=344.39面积卧室5609.34-卫生间4900.94-a77.9 b524381.71-203072.2,模型精度为0.919。
这样一来,方程中的截距和面积、卧室、卫生间等项目就容易理解了,而A和B这两个哑变量可能会给理解带来困难。事实上,根据原理中有趣部分的表格,如果房子位于C区,那么方程中首字母A和B的值都是0,所以这就引出了一个非常重要的点:在使用哑变量的多元线性回归模型的结果中,模型中存在的哑变量都是与已经删除的哑变量进行比较的。所以这个结果意味着,在其他所有条件相同(虚拟变量除外)的情况下,A区的房子比C区的房子低77.9美元,而B区的房子比C区的房子贵524381.7美元,当然我们也可以画一个箱线图来检验,发现结果在模型中显示为A和B的系数。
还有,虽然模型精度比较理想,但是在用ols建模的时候,结果表的底部实际上会显示以下警告,表示可能存在很强的多重共线性问题,这也是提高多元线性回归模型精度和泛化能力的一个非常经典简单的操作。由于篇幅的原因,文章最后把https://zhuanlan.zhihu.com/p/152053737和zhuanlan.zhihu.com联系在一起。
常见场景中的Python实践会不断更新。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。