Spark--SVM(支持向量机)--记录

SVM支持向量机:是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。

支持向量机算法:训练集散落在空间中,寻找一个超平面将训练集进行分割成两方,且距离超平面最近的点到超平面的距离最短。

设超平面W.X+b=0
通过伸缩放大超平面 W.X+b=1,使最近的点到超平面的|W.X+b|=1
点到超平面的距离为|W.X+b|/||W||,且yi(W.X+b)>=1

通过拉格朗日定理得到:L(W,a)=1/||W||+sum(1=>n)a*yi(W.X+b-1)


测试数据集地址
链接: https://pan.baidu.com/s/1dKOToq 密码: u3ue


import org.apache.spark.ml.classification.LinearSVC
import org.apache.spark.sql.SparkSession

object SVMTest {
  def main(args: Array[String]): Unit = {
 val path = "file:/home/enche/Software/spark-2.2.1-bin-hadoop2.7/data/mllib/sample_libsvm_data.txt"
 

 val spark = SparkSession.builder().appName("test").master("local").getOrCreate()
    val data = spark.read.format("libsvm").load(path)
    print(data)
 //可线性分类SVM
 val lsvc = new LinearSVC().setRegParam(0.3).setMaxIter(100)
    val model = lsvc.fit(data)
    print(model.params)

  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值