【问题标题】:Support Vector Machine on train and test训练和测试中的支持向量机
【发布时间】:2017-08-08 19:18:55
【问题描述】:

我正在尝试在我的训练和测试数据集上运行不同类型的 SVM 回归。我所有的代码都在工作,但我觉得我没有正确运行它,因为在训练和测试中的准确度都>0.95,这肯定太高了。

下面是我如何运行回归的代码。数据集太大而无法上传(10000 行等),但包含所有已缩放的数值变量。

我想我是在它自己的模型上而不是在火车模型上运行测试,但我不知道如何改变它。我想这是所有类型的 SVM 的同一个错误,所以我刚刚上传了两种我正在做的方式,以保持整洁。

如果不能改写,我希望我已经解释得足够好。

##non linear methods
set.seed(123)
poly.tune = tune.svm(default_flag~., data=train, kernel="polynomial",degree=c(3), coef0=c(0.1))
#summary(poly.tune)
#train
best.poly = poly.tune$best.model
poly.train = predict(best.poly, newdata=train)
svmnonlintrain<-table(poly.train, train$default_flag)
##accuracy from table
nonlineartrain<-(svmnonlintrain[1,1]+svmnonlintrain[2,2])/(svmnonlintrain[1,1]+svmnonlintrain[1,2]+svmnonlintrain[2,1]+svmnonlintrain[2,2])

#test
best.poly = poly.tune$best.model
poly.test = predict(best.poly, newdata=test)
svmnonlin<-table(poly.test, test$default_flag)
##accuracy from table
nonlineartest<-(svmnonlin[1,1]+svmnonlin[2,2])/(svmnonlin[1,1]+svmnonlin[1,2]+svmnonlin[2,1]+svmnonlin[2,2])

##radial basis function
set.seed(123)
rbf.tune = tune.svm(default_flag~., data=train, kernel="radial",gamma=c(0.1,0.5))
#summary(rbf.tune)

#train
best.rbf = rbf.tune$best.model
rbf.train = predict(best.rbf, newdata=train)
svmradialtrain <- table(rbf.train, train$default_flag)
radialtrain<-(svmradialtrain[1,1]+svmradialtrain[2,2])/(svmradialtrain[1,1]+svmradialtrain[1,2]+svmradialtrain[2,1]+svmradialtrain[2,2])

#test
best.rbf = rbf.tune$best.model
rbf.test = predict(best.rbf, newdata=test)
svmradial <- table(rbf.test, test$default_flag)
radialtest<-(svmradial[1,1]+svmradial[2,2])/(svmradial[1,1]+svmradial[1,2]+svmradial[2,1]+svmradial[2,2])

【问题讨论】:

    标签: r machine-learning statistics svm


    【解决方案1】:

    让我猜猜:这是一个信用风险数据集,您正在预测违约概率(响应变量 default_flag)。如果这与其他所有信用风险数据集一样,则您的响应变量非常不平衡,其中非违约比违约多得多。我再猜测一下,超过 90% 是非默认值。

    如果是这样,我可以通过预测每个人都不会默认来获得 90% 的准确率。当然,这不是很有用。

    错误率并不是衡量不平衡数据性能的一个非常有意义的指标。使用 AUC 或 Gini 系数等其他度量,甚至使用熵(二元对数似然)。

    【讨论】:

      猜你喜欢
      • 2018-07-31
      • 2017-09-19
      • 2013-07-14
      • 2014-04-30
      • 2020-10-26
      • 2013-12-06
      • 2021-04-10
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多