建模的任务是根据这些属性来预测某个特定化学品是否会生物降解。
最后一列X42包含了输出变量,不可生物降解为NRB,可生物降解为RB,需要转换为因子型。其他数值型中有的也被识别为字符型,需要手动转换为数值型。
数据集不存在缺失值。
对特征进行归一化处理(让它们具有0均值和单位方差),消除量纲的影响,尤其是使用径向基核函数时。
Number of Support Vectors : 297,表示成为支持向量的数据点的数量为297个。
查看训练集的正确率。
训练集上的准确率为86.98%,还不错。看看在测试集上的准确率。
测试集上表现略好于训练集,为88.57%。
检查准确率:
可以看到,径向基核函数的性能比线性核函数要差一些。
K折交叉验证:将训练数据拆分为K个同样大小且不会重叠的分区,然后,用K-1个分区训练模型,并把剩下的1个分区作为测试集。这样一共进行K次,每次留出一个分区作为测试集。最后,对K个不同测试集上获得的所有估计进行汇总,来计算在未知数据上的精确度的整体估计。
使用10折交叉验证,再次对比两种核函数模型的性能。
使用10折交叉验证后,可以看到,径向基核函数的性能要优于线性核函数。
查看径向基核函数下,支持向量机模型的性能。
ROC曲线:
使用R做回归分析整体上是比较常规的一类数据分析内容,下面我们具体的了解用R语言做回归分析的过程。首先,我们先构造一个分析的数据集
x<-data.frame(y=c(102,115,124,135,148,156,162,176,183,195),
var1=runif(10,min=1,max=50),
var2=runif(10,min=100,max=200),
var3=c(235,321,412,511,654,745,821,932,1020,1123))
接下来,我们进行简单的一元回归分析,选择y作为因变量,var1作为自变量。