Spark实现SVM模型
来源:互联网 发布:foxpro怎么建数据库 编辑:程序博客网 时间:2024/06/06 00:14
关于SVM算法
SVM,即Support Vector Machine(支持向量机),是一种使用线性分割平面的二元分类算法。其原理是通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
如图所示:
更多详细内容可查看:http://blog.csdn.net/v_july_v/article/details/7624837。
SVM的优与劣
Spark实现SVM算法(Java)
SVM作为一种二元分类算法,同样只预期0或1的标签。通过SVMWithSGD类,我们可以访问这种算法,它的参数与线性回归和逻辑回归的参数差不多。返回的SVMModel与LogisticRegressionModel一样使用阈值的方式进行预测。
//进行Spark的配置 SparkConf conf = new SparkConf().setAppName("GMM").setMaster("local"); conf.set("spark.testing.memory","2147480000"); //Spark的运行配置,意指占用内存2G JavaSparkContext sc = new JavaSparkContext(conf);
//获取训练样本 JavaPairRDD<Integer,String> trainRDD = sc.parallelizePairs(list); //将每类的标签词转化为RDD JavaPairRDD<Integer,String> trainSetRDD = trainRDD.mapValues(new ToTrainSet(vocabulary)); //将标签词转化为向量模型 List<Tuple2<Integer,String>> trainSet = trainSetRDD.collect(); writeTrainSet(trainSet); //写成libsvm文件格式,以方便训练 System.out.println("trainset is ok"); //读取训练集并训练模型 String path = "./trainset"; JavaRDD<LabeledPoint> trainData = MLUtils.loadLibSVMFile(sc.sc(),path).toJavaRDD()
//测试集生成double [] d = {1,1,2};Vector v = Vectors.dense(d);//测试对象为单个vector,或者是RDD化后的vector
//支持向量机 int numIterations = 100;//迭代次数 final SVMModel svm_model = SVMWithSGD.train(trainData.rdd(), numIterations);//构建模型 System.out.println(svm_model.predict(v));
参考资料:
1.SVM的优缺点
2.Spark MLlib SVM算法
0 1
- Spark实现SVM模型
- 基于spark的svm算法实现
- 【Spark】RDD机制实现模型
- SVM模型
- Spark下实现LDA+SVM的文本分类处理
- SGD-SVM Spark并行
- Spark MLlib SVM算法
- Spark MLlib SVM算法
- spark(5)--spark模型中FIFO的实现
- SVM实现
- SVM模型预测
- Struck SVM随记----模型
- 详解SVM模型
- Spark MLlib(二)SVM
- Spark编程模型(之莎士比亚文集词频统计实现)
- 基于spark mllib的LDA模型训练Scala代码实现
- 学习SVM模型心得1
- SVM的模型加载方法!
- OpenCV播放视频,并可设置进度
- Canvas类的最全面详解
- sdut 3262 有向图强连通分量缩点模板
- 文章标题 Invitation Cards
- Ubuntu-JDK配置
- Spark实现SVM模型
- H5前端性能关键指标
- Android Studio更新带来的问题
- 线性表——数组描述
- file transfer(文档传送程序)-并查集的应用
- 深度学习(3):Convolutional Neural Networks
- CentOS6.5安装Docker
- 淘宝内部分享:MySQL & MariaDB性能优化
- Linux学习——文件搜索命令学习