分享

【视频】R语言支持向量分类器SVM原理及房价数据预测应用及回归、LASSO、决策树、随机森林、GBM、神经网络对比可视化

 拓端数据 2025-01-15 发布于浙江

全文链接:  https:///?p=38830

分析师:Yuqi Liu

在大数据时代,精准的数据分类与预测对各领域的发展至关重要。超平面作为高维空间中的关键概念,可将线性空间一分为二,为数据分类奠定了理论基石。基于此发展而来的最大边缘分类器,通过最大化边际距离,精准划分数据类别,而支持向量分类器则进一步优化,提升了分类的稳健性点击文末“阅读原文”获取完整代码数据

视频


与此同时,在房地产市场中,房价预测一直是研究热点。R 语言凭借其强大的数据分析能力,成为房价预测的有力工具。本文深入剖析超平面、最大边缘分类器与支持向量分类器的原理,详细阐述其在 Khan 数据集上的应用。并创新性地将这些分类技术与 R 语言相结合,运用回归、LASSO、决策树等多种模型预测房价,旨在为数据分类与房价预测领域提供全新的研究思路与方法。

一、超平面

在高维空间中,超平面具有重要意义。在 (p) 维空间里,超平面是 (p - 1) 维的仿射子空间 ,其作用是将线性空间分割为不相交的两个部分。举例来说,在二维空间中,超平面呈现为一维子空间,即我们常见的直线;而在三维空间里,超平面是二维子空间,也就是一个平面。
在二维空间中,超平面的数学定义为:(B\_0 + B\_1x\_1 + B\_2x\_2 = 0)。将其延伸至 (p) 维空间时,表达式变为 (B\_0 + B\_1X\_1 + B\_2X\_2 + \cdots + B\_pX\_p = 0)。当向量 (x) 不满足此等式时,存在两种情况。若 (B\_0 + B\_1x\_1 + B\_2x\_2 + \cdots + B\_px\_p > 0),这表明 (x) 处于超平面的一侧;若 (B\_0 + B\_1x\_1 + B\_2x\_2 + \cdots + B\_px\_p < 0),则意味着 (x) 位于超平面的另一侧。所以,超平面能够把 (p) 维空间划分成两半。我们可以依据计算上述等式左侧所得到的符号,来判断某一点究竟位于超平面的哪一侧。
从分类的角度来看,可构建函数 (f(x^i)=B\_0 + B\_1x\_1^i + B\_2x\_2^i + \cdots + B\_px_p^i) 。若 (f(x^i)) 的符号为正,可将其判定为类别 (1);若 (f(x^i)) 的符号为负,则判定为类别 (-1) 。通过这样的方式,实现利用超平面对数据进行分类。

二、最大边缘分类器

最大边缘分类器的核心在于计算每个训练数据观测值到给定分割超平面的距离。其中,观测值到超平面的最小距离的长度被定义为边际。边际值最大的分割超平面,就被称作最大边缘超平面。也就是说,最大边缘超平面代表了训练观测数据到超平面最小距离的最大值。从某种程度而言,最大边缘超平面相当于在两类数据之间插入的最宽“板”的中线。
在实际操作中,距离超平面最近且满足一定条件的几个训练样本点被称作支持向量。这些支持向量支撑起了最大边缘超平面。只有当这些支持向量发生改变时,最大边缘超平面才会相应地改动,这意味着最大边缘超平面直接依赖于支持向量 。基于最大边缘超平面,我们能够对训练数据进行分类,这一过程就是最大边缘分类器的工作机制。
例如,图1展示了数据分布以及最大边缘超平面的位置关系。从图中可以直观地看到最大边缘超平面是如何在两类数据之间找到最宽的间隔,从而实现对数据的有效分类。

三、支持向量分类器

支持向量分类器,也被称为软边缘分类器。由于最大边缘分类器对数据较为敏感,在实际应用中可能会出现过拟合等问题 。因此,支持向量分类器旨在建立一个对个体观测值更为稳健的模型,能够对大多数训练观测值进行更好的分类。它是以牺牲少部分数据为代价,来实现对剩下观测数据的更优分类。
在数学表达上,通过一系列约束条件来确定模型参数。
在实际应用中,可通过如下代码来实现支持向量分类器(这里仅展示关键部分代码,并非完整代码):

# 导入所需库
import numpy as np
from sklearn.svm import SVC
# 假设已有训练数据x\_train和y\_train
# 创建支持向量分类器对象,设置参数C(对应上述c)
clf = SVC(C = 0.5)
# 训练模型
clf.fit(x\_train, y\_train)

在这段代码中,首先导入了必要的库,其中 numpy 用于数值计算,sklearn.svm 中的 SVC 是支持向量分类器的实现类。然后创建了 SVC 对象,并设置了参数 C 为 (0.5),这里的 C 就是上述提到的调节参数 (c) ,它控制着模型对数据的容忍度。最后通过 fit 方法使用训练数据对模型进行训练 。
可以由松弛变量 (\xi\_j) 确定第 (j) 个观测值的位置。若 (\xi\_j = 0),说明观测值位于边际正确的一侧;若 (\xi\_j > 0),则观测值位于边际错误的一侧;若 (\xi\_j > 1),观测值位于超平面错误的一侧。在实际操作时,调节参数 (c) 一般通过交叉验证来获取,以此实现对偏差和方差的平衡。通常情况下,(c) 值小,容忍度小,边际窄,偏差小,方差大;(c) 值大,容忍度大,边际宽,偏差大,方差小 。
例如,从图2中可以看到不同 (c) 值对分类结果的影响。当 (c) 值较小时,模型对数据的容忍度低,边际较窄,分类边界更严格;而当 (c) 值较大时,模型对数据的容忍度高,边际变宽,分类边界相对更宽松。

四、模拟与实证

本次模拟使用Khan数据集,该数据集由与四种不同类型的小圆蓝细胞肿瘤相对应的多个组织样本构成。对于每个组织样本,都能进行基因表达测量。数据集包含训练数据 (x_{train}) 和 (y_{train}) 以及测试数据 (x_{test}) 和 (y_{test}) 。该数据集涵盖了 (2308) 个基因的表达测量。训练集和测试集分别由 (63) 个和 (20) 个观察结果组成。如图3所示为数据集的相关信息可视化。


通过对超平面、最大边缘分类器以及支持向量分类器的理论分析和在Khan数据集上的模拟,我们可以看到这些方法在数据分类中的有效性和各自的特点。超平面为分类提供了基础的划分依据,最大边缘分类器在寻找最优分类边界上具有独特的优势,而支持向量分类器则通过引入调节参数,在稳健性和分类效果之间找到了更好的平衡。在实际的科研和应用场景中,可根据具体的数据特点和需求,选择合适的分类方法,以实现对数据的准确分类和分析。

R语言软件对房价数据预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化

本文将介绍帮助客户使用R语言软件进行房屋价格预测的几种常见方法,包括回归、LASSO、决策树、随机森林、GBM、神经网络和支持向量机(SVM)。通过这些方法的比较和分析,我们将探讨它们在房屋价格查看文末了解数据免费获取方式预测中的优势和不足,并通过可视化的方式展示它们的预测结果。

首先读取数据。

data=read.csv("Amsing.csv")

 查看原始数据(直接从Ames评估办公室获得)用于税务评估目的,但本身直接预测房屋售价。

 首先查看部分数据,以观看数据中有哪些变量。

head(data)


获取数据的基本统计量。

summary(data)

对房屋面积进行可视化,可以让我们对房屋的面积有一个直观的影响,从而也可以排除掉一部分异常点的影响。

从可视化结果来看,可以发现数据中存在较多的异常数据。可能会影响后续的预测过程,因此将它们去除。

查看数据结构

通过查看数据结构,我们可以了解到,哪些数据是数值变量比如房屋面积,总体质量建立年份,哪些数据是因此变量比如街道,土地坡度,房屋状况,哪些数据的因子有哪些。

str(data)

绘制相关散点图

通过绘制相关散点图,我们可以查看数值变量之间存在哪些关系?


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多