Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中得到SVM模型的系数和p值_R_Svm_R Caret - Fatal编程技术网

如何在R中得到SVM模型的系数和p值

如何在R中得到SVM模型的系数和p值,r,svm,r-caret,R,Svm,R Caret,我想知道是否有办法从e1071包中获取svmLinear方法中的所有系数和p值。我尝试了summary(modelname),但没有成功。 以下是我的支持向量机模型的代码,其中包含10倍交叉验证: library("e1071") library("caret") load(df) ## my dataset ctrl <- trainControl(method = "repeatedcv", number = 10, savePredictions = TRUE) ## 10 fold

我想知道是否有办法从
e1071
包中获取svmLinear方法中的所有系数和p值。我尝试了
summary(modelname)
,但没有成功。 以下是我的支持向量机模型的代码,其中包含10倍交叉验证:

library("e1071")
library("caret")
load(df) ## my dataset
ctrl <- trainControl(method = "repeatedcv", number = 10, savePredictions = TRUE) ## 10 fold cross validation
fitsvm <- train(Attrition ~., data=df, method = "svmLinear", trControl = ctrl) ##train model

summary (fitsvm)

Length  Class   Mode 
 1      ksvm     S4 
库(“e1071”)
库(“插入符号”)
加载(df)##我的数据集

ctrlSVM不假设概率模型,因此不存在Std错误或p。价值观

不过,你可以得到系数。在
e1071
包中,
alpha*y
存储在
fit$coefs
中,支持向量存储在
fit$SV
中。你必须小心如何提取它们。如果只有二元分类,则分离平面
b+w1*x1+w2*x2+…=0的系数仅为:

w = t(fit$SV) %*% fit$coefs
b = -fit$rho
如果只有二维要素,则可以使用以下方法打印分隔线:

abline(-b/w[2], -w[1]/w[2])

对于多类来说,这有点棘手。您可以查看有关如何从coefs和SV中提取
w
b
的详细说明。

svmLinear in caret使用kernlab软件包。要访问ksvm类信息,可以使用fitsvm$finalmodel@coef对于系数。p值不是计算出来的。@非常感谢!我不知道kernlab的事。我尝试了您编写的代码,但它给出了“错误:尝试从没有插槽的基本类(“NULL”)的对象获取插槽“coef”。
abline(-b/w[2], -w[1]/w[2])