Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Spark中的Kmeans算法,_Scala_Apache Spark_Cluster Computing - Fatal编程技术网

Scala Spark中的Kmeans算法,

Scala Spark中的Kmeans算法,,scala,apache-spark,cluster-computing,Scala,Apache Spark,Cluster Computing,最近我在spark中进行集群,我在spark中使用Kmeans集群来进行一些计算 我有一个数据集,就像这样: - 1,2,3,4 - 2,3,4,5 -1,2,4,5 现在我想对前三列进行聚类,如何才能在不丢失最后一列的情况下将前三列预测为一列,就像 1,2,3,1,4 2,3,4,2,5 1,2,4,3,5 第四列是预测列 val kmeansData = model.transform(input) 上面的代码仅使用dataframe作为参数进行预测您可以在创建kmeans实例时指定用

最近我在spark中进行集群,我在spark中使用Kmeans集群来进行一些计算

我有一个数据集,就像这样: - 1,2,3,4 - 2,3,4,5 -1,2,4,5

现在我想对前三列进行聚类,如何才能在不丢失最后一列的情况下将前三列预测为一列,就像

  • 1,2,3,1,4
  • 2,3,4,2,5
  • 1,2,4,3,5
第四列是预测列

val kmeansData = model.transform(input)

上面的代码仅使用dataframe作为参数进行预测

您可以在创建
kmeans
实例时指定用于预测的列,如下所示:

val kmeans = new KMeans()
  .setK(3)
  .setFeaturesCol("features")
  .setPredictionCol("prediction")
val model = kmeans.fit(trainingData)
val kmeansData = model.transform(vectoredInput)
由于集群(我认为,大多数Spark ML算法)使用的是
Vector
类型的列,因此必须首先将三个单独的列组合成一个向量:

val cols = Array("1", "2", "3")
val assembler = new VectorAssembler().setInputCols(cols).setOutputCol("features")
val vectoredInput = assembler.transform(input)
您可以在此处找到更多详细信息:

数据为(1,2,3,4)、(2,3,4,5)、(1,2,4,5)三行