Apache Spark Streaming K-means:我需要知道在同一数据中运行了多少次迭代?
Apache Spark Streaming K-means: I need know how many iterations runs in the same data?
我是 Spark 的新手。我正在尝试阅读代码并了解 K-means in Spark Streaming 的工作原理。我不知道如何获得算法在同一数据组中执行的迭代次数。我找不到包含此信息的 Java 文件。
你能帮帮我吗?
谢谢
解决方案:在这个文件/spark-1.5.0/mllib/src/main/scala/org/apache/spark/mllib/clustering/KMeans.scala中有一个while
语句在run
使用名为 iteration
的变量的方法,Spark 将它写入每个 运行 的日志中。
当您初始化 KMeans class 时,您可以指定最大迭代参数。
新 KMeans().setMaxIterations(迭代次数)
然后它将为每个预测使用该参数
作为对 majitux 解决方案的一个小补充(我还不能发表评论)。如果您想知道 K-Means 的迭代次数,只需将 SPARK 的日志级别更改为 INFO。在 shell 内使用:
spark.sparkContext.setLogLevel("INFO")
或者通过在 conf/log4j.properties.
中将其设置为默认值
K-Means 完成后 运行 字符串 "KMeans++ converged in X iterations" 将出现在日志中。
我是 Spark 的新手。我正在尝试阅读代码并了解 K-means in Spark Streaming 的工作原理。我不知道如何获得算法在同一数据组中执行的迭代次数。我找不到包含此信息的 Java 文件。
你能帮帮我吗?
谢谢
解决方案:在这个文件/spark-1.5.0/mllib/src/main/scala/org/apache/spark/mllib/clustering/KMeans.scala中有一个while
语句在run
使用名为 iteration
的变量的方法,Spark 将它写入每个 运行 的日志中。
当您初始化 KMeans class 时,您可以指定最大迭代参数。
新 KMeans().setMaxIterations(迭代次数)
然后它将为每个预测使用该参数
作为对 majitux 解决方案的一个小补充(我还不能发表评论)。如果您想知道 K-Means 的迭代次数,只需将 SPARK 的日志级别更改为 INFO。在 shell 内使用:
spark.sparkContext.setLogLevel("INFO")
或者通过在 conf/log4j.properties.
中将其设置为默认值K-Means 完成后 运行 字符串 "KMeans++ converged in X iterations" 将出现在日志中。