hour15, hour15diff, hour17, hour17diff, addrate, lastflag, res
23.7475, -9.3125, 30.5800, -12.7600, -3.4475, 0, 0
24.6150, -10.3050, 31.7625, -13.5175, -3.2125000000000004, 0, 0
22.7575, -8.5625, 30.9513, -10.6588, -2.0962999999999994, 0, 0
19.7963, -8.0038, 29.9200, -8.9000, -0.8962000000000003, 0, 0
2.读取数据到R
trainModel = read.table('/xxx/xx/train.csv',header=TRUE,sep=',')
3.数据格式处理
简单的大小归一化:
trainModel['hour15'] = trainModel['hour15'] /10
trainModel['hour17'] = trainModel['hour17] /10
trainModel['hour15diff'] = trainModel['hour15diff']/5
4.k折交叉验证svm参数选择
library('e1071')
obj = tune.svm(res~.,data=trainModel,gamma = 1,
1.数据准备本地文件格式:hour15, hour15diff, hour17, hour17diff, addrate, lastflag, res23.7475, -9.3125, 30.5800, -12.7600, -3.4475, 0, 0 24.6150, -10.3050, 31.7625, -13.5175, -3.2125000000000004, 0, 0
#鸢尾花数据集(2自变量)
iris.subet = subset(iris,select = c("Sepal.Length","Sepal.Width","Species"),
Species %in% c("versicolor","virginica"))
#查看数据
特征
plot(x = iris.subet$Sepal.Length,y = iri
文献标题:Gene Selection for Cancer Classifification using Support Vector Machines
1.
SVM
递归
特征
消除(
SVM
-RFE)
SVM
-RFE 是一种以权重大小作为排序标准的 REFE 应用。
1.1 算法流程
输入:训练样本集
幸存
特征
子集:
特征
排序列表:
开始循环直到 s = []:
限制训练数据集从而得到一个良好的
特征
指标
采用
SVM
进行分类(对偶方式)获得值
计算...
支持向量机方法建立在统计学理论的VC维理论和结构风险最小原理的基础下,根据有限样本在模型的复杂性和学习能力之间寻求最佳折中,
以期获得最好的推广能力。
统计学习的目标从经验风险最小化变为了寻求经验风险与置信风险之和最小化,即结构风险最小化。
e1071包
svm
(formula, data = NULL, ..., subse...
> names(hr)
[1] "satisfaction" "evaluation" "project" "monthlyhour" "serviceyear""accident" "left" "promotion" "dept" "salary""SG"
变量选取的三种方法如下:
1.subset( )
> hr01<-subset(hr, se...
SVM
是比较常用的分类算法,其核心采用的是线性分类器,如果数据在当前维度下不可分割,可以映射到更高的维度之上。本文将着重介绍
SVM
算法的R语言
实现
。
使用的是e1071包中的
svm
函数。
本文数据选择了红酒质量分类数据集,这是一个很经典的数据集,原数据集中“质量”这一变量取值有{3,4,5,6,7,8}。为了
实现
二分类问题,我们添加一个变量“等级”,并将“质量”为{3,4,5}的观测划...
在导入数据后,您需要对数据进行一些预处理。您可以使用R语言中的一些函数,如scale()函数来对数据进行标准化。此外,您还需要将数据集分为训练集和测试集。
3. 建立
svm
模型
接下来,您将使用e1071包中的
svm
()函数来建立
svm
模型。您需要指定
svm
()函数的参数,如kernel类型、惩罚系数C等。例如,您可以使用以下
代码
来建立
svm
模型:
library(e1071)
model <-
svm
(diabetes~., data = train, kernel = "linear", cost = 10)
其中,diabetes是您的目标变量,train是您的训练集数据。
4. 预测结果
在建立
svm
模型后,您可以使用predict()函数来对测试集进行预测并计算准确率。例如,您可以使用以下
代码
来预测测试集的结果并计算准确率:
pred <- predict(model, test[,-9])
mean(pred == test$diabetes)
其中,test[,-9]表示测试集数据除了目标变量之外的所有变量,test$diabetes表示测试集的目标变量。
至此,您已经成功地使用
svm
算法进行了糖尿病预测。希望能对您有所帮助!