Spark机器学习:KMenas算法

Posted 代码空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark机器学习:KMenas算法相关的知识,希望对你有一定的参考价值。

KMenas算法比较简单,不详细介绍了,直接上代码。

import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.clustering._

/**
  * Created by Administrator on 2017/7/11.
  */
object Kmenas {

  def main(args:Array[String]): Unit ={
    // 设置运行环境
    val conf = new SparkConf().setAppName("KMeans Test")
      .setMaster("spark://master:7077").setJars(Seq("E:\\\\Intellij\\\\Projects\\\\MachineLearning\\\\MachineLearning.jar"))
    val sc = new SparkContext(conf)
    Logger.getRootLogger.setLevel(Level.WARN)

    // 读取样本数据并解析
    val data = sc.textFile("hdfs://master:9000/ml/data/kmeans_data.txt")
    val parsedData = data.map(s => Vectors.dense(s.split(\' \').map(_.toDouble))).cache()

    // 新建KMeans聚类模型并训练
    val initMode = "k-means||"
    val numClusters = 2
    val numIterations = 500
    val model = new KMeans().
      setInitializationMode(initMode).
      setK(numClusters).
      setMaxIterations(numIterations).
      run(parsedData)
    val centers = model.clusterCenters
    println("Centers:")
    for (i <- 0 to centers.length - 1) {
      println(centers(i)(0) + "\\t" + centers(i)(1))
    }

    // 误差计算
    val Error = model.computeCost(parsedData)
    println("Errors = " + Error)

  }

}

运行结果:

以上是关于Spark机器学习:KMenas算法的主要内容,如果未能解决你的问题,请参考以下文章

大数据推荐系统算法代码全接触(企业内训,现场实录,机器学习算法+Spark实现)

Spark-数据源及机器学习算法部署

Apache Spark:多机器学习算法的并行化

Spark常用机器学习算法(scala+java)

掌握Spark机器学习库-07-回归算法原理

spark机器学习-聚类