栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

9.5.4、Spark Mllib

9.5.4、Spark Mllib

无监督学习K-means聚类

—没有label,不用切分训练集和测试集
—主要就是看一些数据点的分布在哪个附近

object Demo06KKK {

  def main(args: Array[String]): Unit = {
    val spark: SparkSession = SparkSession
      .builder()
      .master("local[*]")
      .appName("Demo2Person")
      .getOrCreate()

    import spark.implicits._
    import org.apache.spark.sql.functions._

    
    val kmeansDF: Dataframe = spark.read
      .format("csv")
      .option("sep", ",")
      .schema("x Double,y Double")
      .load("sparkproject/data/kmeans")

    val kmeansdata: Dataframe = kmeansDF.as[(Double, Double)]
      .map {
        case (x: Double, y: Double) => {
          val denseVec: linalg.Vector = Vectors.dense(Array(x, y))
          Tuple1(denseVec)
        }
      }.toDF("features")

    
    val km: KMeans = new KMeans()
      .setK(2)

    
    val model: KMeansModel = km.fit(kmeansData)
    val resDF: Dataframe = model.transform(kmeansData)

    resDF.show(1000,false)
  }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号