Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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
Java apachespark流媒体K-means:我需要知道在相同的数据中运行了多少次迭代?_Java_Apache Spark_K Means - Fatal编程技术网

Java apachespark流媒体K-means:我需要知道在相同的数据中运行了多少次迭代?

Java apachespark流媒体K-means:我需要知道在相同的数据中运行了多少次迭代?,java,apache-spark,k-means,Java,Apache Spark,K Means,我是《星火》的新手。我正在尝试阅读代码并了解Spark Streaming中的K-means是如何工作的。我不知道如何获得算法在同一数据组中执行的迭代次数。我找不到包含此信息的Java文件 你能帮帮我吗 多谢各位 解决方案:在这个文件/spark-1.5.0/mllib/src/main/scala/org/apache/spark/mllib/clustering/KMeans.scala中,run方法中有一个while语句,它使用一个名为iteration的变量,并在每次运行的日志中写入 初

我是《星火》的新手。我正在尝试阅读代码并了解Spark Streaming中的K-means是如何工作的。我不知道如何获得算法在同一数据组中执行的迭代次数。我找不到包含此信息的Java文件

你能帮帮我吗

多谢各位


解决方案:在这个文件/spark-1.5.0/mllib/src/main/scala/org/apache/spark/mllib/clustering/KMeans.scala中,
run
方法中有一个
while
语句,它使用一个名为
iteration
的变量,并在每次运行的日志中写入

初始化KMeans类时,可以指定最大迭代参数

new KMeans().setMaxIterations(迭代)


然后,它将在每个预测中使用该参数,作为majitux解决方案的一个小补充(我还不允许发表评论)。如果您想知道K-Means的迭代次数,只需将SPARK的日志级别更改为INFO。在外壳内部,使用:

spark.sparkContext.setLogLevel("INFO")
或者在conf/log4j.properties中将其设置为默认值


K-Means完成运行后,日志中将显示字符串“KMeans++在X迭代中聚合”。

是的,我知道。但有时算法执行的迭代次数少于最大值,所以我需要知道这个数字。我找到了答案!:在这个文件/spark-1.5.0/mllib/src/main/scala/org/apache/spark/mllib/clustering/KMeans.scala中,run方法中有一段时间使用一个名为iteration的变量,spark会在每次运行时将其写入日志。