zoukankan      html  css  js  c++  java
  • Spark机器学习(7):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) + "	" + centers(i)(1))
        }
    
        // 误差计算
        val Error = model.computeCost(parsedData)
        println("Errors = " + Error)
    
      }
    
    }

    运行结果:

  • 相关阅读:
    vue中element-ui的内置过渡动画
    vue路由自动加载、按组件异步载入vuex以及dll优化
    h5春节小游戏制作
    python脚本通过adb命令安装包
    pipeline
    python闭包与装饰器
    linux-awk
    CSAPP Lab3: The Attack Lab
    CSAPP Lab4 Cache Lab
    HDU. 2243. 考研路茫茫——单词情结(AC自动机 DP 矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/mstk/p/7151943.html
Copyright © 2011-2022 走看看