用一个简单的例子比较SVM,MARS以及BRUTO(R语言)

本文是ESL: 12.3 支持向量机和核中表12.2的重现过程。具体问题如下:
在两个类别中产生100个观测值。第一类有4个标准正态独立特征\(X_1,X_2,X_3,X_4\)。第二类也有四个标准正态独立特征,但是条件为\(9\le \sum X_j^2\le 16\)。这是个相对简单的问题。同时考虑第二个更难的问题,用6个标准高斯噪声特征作为增广特征。

生成数据

## ##################################### ## generate dataset ## ## `No Noise Features`: num_noise = 0 ## `Six Noise Features`: num_noise = 6 ## ##################################### genXY <-function(n = 100, num_noise = 0) { ## class 1 m1 =matrix(rnorm(n*(4+num_noise)), ncol = 4 +num_noise) ## class 2 m2 =matrix(nrow = n, ncol = 4 +num_noise) for (i in 1:n) { while (TRUE) { m2[i, ] =rnorm(4 +num_noise) tmp =sum(m2[i, 1:4]^2) if(tmp >=9 &tmp <=16) break } } X =rbind(m1, m2) Y =rep(c(1, 2), each = n) return(data.frame(X = X, Y = as.factor(Y))) }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxpfy.html