问题标签 [apache-spark-mllib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
538 浏览

scala - 为什么我在尝试 Apache Spark 的 Streaming Kmeans Clustering 官方示例时在 model.predictOnValues 中出现类型错误?

我正在尝试官方指南末尾的 Streaming Clustering 示例代码,但出现类型错误。这是我的代码:

但是当我跑步时

我收到以下错误:

0 投票
1 回答
1455 浏览

python - Spark MLLIB TFIDF 文本聚类 Python

我是 Spark 的新手,并试图在 Python 中使用 Spark API 将新闻文章集群为集群。新闻文章已被抓取并存储在本地文件夹 /input/ 中。它包含大约 100 个小文本文件。

作为第一步,我已经设置了我的 SparkContent

接下来我创建 HashingTF 并使用 sc.wholeTextFiles() 加载我的数据。目录是包含 txt 文件的文件夹的路径。

现在我想分别拆分每个文本文件并为每个文件输出 TF-IDF。第一个问题是 split 函数不适用于 txtdata。我正在使用以下功能:

我收到以下错误:

最后我计划运行:

0 投票
0 回答
495 浏览

java - 请求的数组大小超过 MLLib 随机森林中的 VM 限制

我正在使用 MLLib 来训练随机森林。深度 15 可以正常工作,但如果我使用深度 20,我会得到

java.lang.OutOfMemoryError:请求的数组大小超过 VM 限制

在驱动程序上,来自 DecisionTree.scala 中的 collectAsMap 操作,在第 642 行附近。直到训练一个小时后才会发生。我在 36 个从站上使用 50 棵树,maxMemoryInMB=250,但即使我使用 240G 的驱动程序内存,仍然会出错。

以前有没有人在这种情况下看到过这个错误,并且可以就可能触发它的原因提出建议?

最好的,卢克

0 投票
2 回答
2865 浏览

java - Apache-Spark 库内容

我正在尝试使用 Apache-Spark 的 MLlib 库运行 Java 测试程序。

我从他们的网站下载了最新的 Spark 版本,并按照 O'reilly 的书“Learning Spark,Lightning-Fast Big Data Analysis”找到了有用的示例和技巧,但是在导入正确的库时,他们(以及其他教程我发现谷歌搜索)使用不包含在我下载的 Spark 文件夹中的类。

这是一个例子:

大多数教程导入 org.apache.spark.mllib.regression.LabeledPoint,在我的例子中不存在。我只有 :

  • JavaLassoSuite
  • Java线性回归套件
  • JavaRidgeRegressionSuite

对于应该包含在库中的所有其他文件,我都有同样的问题。我尝试下载旧版本,但它仍然是相同的,即使是与 MLlib 不直接相关的文件(org.apache.spark.SparkConf 和 org.apache.spark.api.java.* 文件)

我错过了一步,还是有人知道?

谢谢 !

编辑

本书第一个示例所需的导入:

我从这个链接下载:

火花发布:1.2.1

包类型:源代码

下载类型:直接下载

(这是我在 Stack Overflow 上的第一篇文章,如果我做错了,请随时告诉我)

0 投票
4 回答
8809 浏览

apache-spark - PySpark 和 MLLib:随机森林预测的类概率

我正在尝试提取我使用 PySpark 训练的随机森林对象的类概率。但是,我在文档中的任何地方都没有看到它的示例,也不是RandomForestModel.

如何从RandomForestModelPySpark 中的分类器中提取类概率?

这是文档中提供的示例代码,仅提供最终类(不是概率):

我没有看到任何model.predict_proba()方法——我该怎么办?

0 投票
1 回答
5142 浏览

vector - Spark:值 reduceByKey 不是成员

在对一些稀疏向量进行聚类后,我需要在每个聚类中找到交集向量。为了实现这一点,我尝试减少 MLlib 向量,如下例所示:

该行predictions.reduceByKey((v1, v2) => v1)导致错误:

这是什么原因?

0 投票
3 回答
2700 浏览

hadoop - 如何在 Spark 中进行文本分析

我对 Hadoop 非常熟悉,但对 Apache Spark 完全陌生。目前我正在使用 Mahout 中实现的 LDA(潜在狄利克雷分配)算法来进行主题发现。但是,由于我需要使过程更快,我想使用 spark,但是在 Spark MLib 中没有实现 LDA(或 CVB)算法。这是否意味着我必须自己从头开始实现它?如果是这样,Spark 是否提供了一些使其更容易的工具?

0 投票
1 回答
1486 浏览

scala - Spark MLlib / K-Means 直觉

我对机器学习算法和 Spark 非常陌生。我正在关注此处找到的 Twitter 流语言分类器:

http://databricks.gitbooks.io/databricks-spark-reference-applications/content/twitter_classifier/README.html

特别是这段代码:

http://databricks.gitbooks.io/databricks-spark-reference-applications/content/twitter_classifier/scala/src/main/scala/com/databricks/apps/twitter_classifier/ExamineAndTrain.scala

除了我试图在它从 Cassandra 中拉出的一些推文上以批处理模式运行它,在这种情况下总共 200 条推文。

如示例所示,我正在使用此对象“矢量化”一组推文:

这是我从 ExaminAndTrain.scala 修改的代码:

此代码运行,每个集群打印“集群 0”“集群 1”等,下面没有打印。如果我翻转

除了每条推文都打印在每个集群下方之外,还会发生同样的事情。

这是我直觉认为正在发生的事情(如果错误,请纠正我的想法):这段代码将每条推文变成一个向量,随机挑选一些集群,然后运行 ​​kmeans 对推文进行分组(在非常高的级别上,集群,我假设,将是常见的“主题”)。因此,当它检查每条推文以查看 models.predict == 1 时,不同的推文集应该出现在每个集群下(并且因为它会根据自身检查训练集,所以每条推文都应该在一个集群中)。为什么不这样做?要么我对 kmeans 所做的理解有误,要么我的训练集太小,要么我错过了一步。

任何帮助是极大的赞赏

0 投票
1 回答
2033 浏览

java - Java 中 Spark MLlib 中的矩阵运算

这个问题是关于 MLlib (Spark 1.2.1+)。

操作局部矩阵的最佳方法是什么(大小适中,小于 100x100,因此不需要分发)。

例如,在计算数据集的 SVD 之后,我需要执行一些矩阵运算。RowMatrix唯一提供乘法功能。toBreeze 方法返回 aDenseMatrix<Object>但 API 似乎对 Java 不友好: public final <TT,B,That> That $plus(B b, UFunc.UImpl2<OpAdd$,TT,B,That> op)

在 Spark+Java 中,如何进行以下任一操作:

  • 转置矩阵
  • 加/减两个矩阵
  • 裁剪矩阵
  • 执行元素操作
  • ETC

Javadoc 行矩阵:https ://spark.apache.org/docs/latest/api/java/org/apache/spark/mllib/linalg/distributed/RowMatrix.html

编辑:感谢 dlwh 为我指出正确的方向,以下解决方案有效:

0 投票
1 回答
1810 浏览

java - Java中foreachActive用于spark Vector

如何用Java编写简单的代码来迭代稀疏向量中的活动元素?

假设我们有这样的向量:

我正在尝试使用 lambda 或 Function2(来自三个不同的导入,但总是失败)。如果您使用 Function2,请提供必要的导入。