SparkMLlib分类算法之支持向量机
(一),概念
支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。参考网址:http://www.cnblogs.com/end/p/3848740.html
(二),SparkMLlib中SVM回归应用
2,处理数据及获取训练集和测试集
val orig_file=sc.textFile("train_nohead.tsv")//println(orig_file.first())
val data_file=orig_file.map(_.split("\t")).map{
r=>val trimmed=r.map(_.replace("\"",""))
val lable=trimmed(r.length-1).toDouble
val feature=trimmed.slice(4,r.length-1).map(d => if(d=="?")0.0
elsed.toDouble)
LabeledPoint(lable,Vectors.dense(feature))
}/*特征标准化优化*/val vectors=data_file.map(x =>x.