首页 > 编程知识 正文

densenet模型结构,支持向量机和决策树

时间:2023-05-04 11:33:32 阅读:10489 作者:177

原文链接: http://tecdat.cn/p=23305原文来源:拓端数据部落公众号

本文介绍了如何使用r语言支持向量回归SVR。

首先进行简单的线性回归,转移到支持向量回归。 现在,您可以看到两者是如何在同一数据中表现的。

一个简单的数据集。 首先,使用这个简单的数据集。

如你所见,我们的两个变量x和y之间似乎有某种关系,看起来我们可以拟合通过各点附近的直线。

我们用r语言做吧!

步骤1 :用r进行简单的线性回归

以下是CSV格式的相同数据。 将其保存到regression.csv文件中。

现在,可以使用r显示数据并使其与直线对齐。

来自csv文件的数据dataDirectory - 'D:/' #将自己的文件夹放在此处。 数据读取. CSV (路径(数据目录,'数据. CSV ',sep=' ),heeep )。 pch=16 ) #添加线性回归模型model-lm(y~x到x,data ) #拟合线abline )模型)

上面的代码显示了以下图表:

第二步:我们的回归效果怎么样?

为了能够比较线性回归和向量回归,首先需要测量其效果的方法。

为此,请修改以下代码,使模型在每个预测中都可见

每#x创建预测预预测(模型,数据),并显示预测结果points(X ) x,pred )

生成了以下图表:

对于每个数据点Xi,模型都进行预测Y^i,并在图中用红十字表示。 与前面的图表唯一不同的是,这些点互不相连。

计算误差有多少,以衡量模型的效果。

可以将每个Yi值与相关的预测值Y^i进行比较,以查看它们之间存在多大的差异。

请注意,公式Y^i-Yi是误差。 如果预测完美,Y^i等于Yi,误差为零。

在每个数据点上这样加上误差,可以得到误差之和,取平均值可以得到均方误差(MSE )。

机器学习使用均方根误差(RMSE )作为测量误差的常用方法之一,因此请改用它。

为了计算RMSE而取平方根,得到了RMSE

使用r,可以获取以下代码来计算RMSE

RMSE-function(error ) {sqrt ) mean (error ^2) }

我们知道我们线性回归模型的RMSE是5.70。 用SVR改善一下吧!

步骤3 :支持向量回归用r建立SVR模型。

以下是通过支持向量回归预测的代码。

正如您所见,模型- SVM (y~x,data )看起来像线性回归的代码。 请注意,调用了svm函数而不是svr。 那么,这是因为这个函数也可以用于在支持向量机中进行分类。 如果检测到数据分类,则如果变量是r中的一个因子,该函数自动选择SVM。

代码绘制了下图。

这次的预测结果更接近真实的数值! 计算一下支持向量回归模型的RMSE。

#这次的svrModel$residuals与data$Y - predictedY不同。 #所以这样计算误差svrPredictionRMSE

正如预想的那样,RMSE变得更好了。 现在是3.15,但之前是5.70。

但是你能做得更好吗?

第四步:为了调整你的支持向量回归模型,提高支持向量回归的性能,必须选择最适合模型的参数。

在前面的示例中,我们进行了-回归。 ()没有设置任何值,但默认值为0.1。 还有一个成本参数。 为了避免过度拟合,可以进行变更。

选择这些参数的过程称为超级参数优化或模型选择。

标准的方法是进行网格搜索。 这意味着为了不同成本的组合训练了很多模型,选择了最好的模型。

#在进行网格搜索的tuneresultranges=list (epsilon=seq (0,1,0.1 ),cost=2^ ) 2:9 )上的代码中,调参考图plot (result ) )

使用tune方法训练模型。=0,0.1,0.2,1和cost=22,23,24,29这意味着训练88个模型。 (这可能需要很长时间,但tuneResult将返回MSE。 在与上一个模型进行比较之前,请记住将其转换为RMSE。 最后一行绘制了网格搜索的结果。

>

在这张图上,我们可以看到,区域颜色越深,我们的模型就越好(因为RMSE在深色区域更接近于零)。

这意味着我们可以在更窄的范围内尝试另一个网格搜索,我们将尝试在0和0.2之间的ϵ值。目前看来,成本值并没有产生影响,所以我们将保持原样,看看是否有变化。

rangelist(epsilo = seq(0,0.2,0.01), cost = 2^(2:9))

我们用这一小段代码训练了不同的168模型。

当我们放大暗区域时,我们可以看到有几个较暗的斑块。

从图中可以看出,C在200到300之间,ϵ在0.08到0.09之间的模型误差较小。

希望对我们来说,我们不必用眼睛去选择最好的模型,R让我们非常容易地得到它,并用来进行预测。

# 这个值在你的电脑上可能是不同的# 因为调参方法会随机调整数据tunedModelRMSE <- rmse(error) 

我们再次提高了支持向量回归模型的RMSE !

我们可以把我们的两个模型都可视化。在下图中,第一个SVR模型是红色的,而调整后的SVR模型是蓝色的。


我希望你喜欢这个关于用R支持向量回归的介绍。你可以查看原文得到本教程的源代码。

最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最dddddd乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言混合效应逻辑回归Logistic模型分析肺癌

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

8.python用线性回归预测股票价格

9.R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。