问题标签 [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.
python - Spark MLLIB TFIDF 文本聚类 Python
我是 Spark 的新手,并试图在 Python 中使用 Spark API 将新闻文章集群为集群。新闻文章已被抓取并存储在本地文件夹 /input/ 中。它包含大约 100 个小文本文件。
作为第一步,我已经设置了我的 SparkContent
接下来我创建 HashingTF 并使用 sc.wholeTextFiles() 加载我的数据。目录是包含 txt 文件的文件夹的路径。
现在我想分别拆分每个文本文件并为每个文件输出 TF-IDF。第一个问题是 split 函数不适用于 txtdata。我正在使用以下功能:
我收到以下错误:
最后我计划运行:
java - 请求的数组大小超过 MLLib 随机森林中的 VM 限制
我正在使用 MLLib 来训练随机森林。深度 15 可以正常工作,但如果我使用深度 20,我会得到
java.lang.OutOfMemoryError:请求的数组大小超过 VM 限制
在驱动程序上,来自 DecisionTree.scala 中的 collectAsMap 操作,在第 642 行附近。直到训练一个小时后才会发生。我在 36 个从站上使用 50 棵树,maxMemoryInMB=250,但即使我使用 240G 的驱动程序内存,仍然会出错。
以前有没有人在这种情况下看到过这个错误,并且可以就可能触发它的原因提出建议?
最好的,卢克
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 上的第一篇文章,如果我做错了,请随时告诉我)
apache-spark - PySpark 和 MLLib:随机森林预测的类概率
我正在尝试提取我使用 PySpark 训练的随机森林对象的类概率。但是,我在文档中的任何地方都没有看到它的示例,也不是RandomForestModel
.
如何从RandomForestModel
PySpark 中的分类器中提取类概率?
这是文档中提供的示例代码,仅提供最终类(不是概率):
我没有看到任何model.predict_proba()
方法——我该怎么办?
vector - Spark:值 reduceByKey 不是成员
在对一些稀疏向量进行聚类后,我需要在每个聚类中找到交集向量。为了实现这一点,我尝试减少 MLlib 向量,如下例所示:
该行predictions.reduceByKey((v1, v2) => v1)
导致错误:
这是什么原因?
hadoop - 如何在 Spark 中进行文本分析
我对 Hadoop 非常熟悉,但对 Apache Spark 完全陌生。目前我正在使用 Mahout 中实现的 LDA(潜在狄利克雷分配)算法来进行主题发现。但是,由于我需要使过程更快,我想使用 spark,但是在 Spark MLib 中没有实现 LDA(或 CVB)算法。这是否意味着我必须自己从头开始实现它?如果是这样,Spark 是否提供了一些使其更容易的工具?
scala - Spark MLlib / K-Means 直觉
我对机器学习算法和 Spark 非常陌生。我正在关注此处找到的 Twitter 流语言分类器:
特别是这段代码:
除了我试图在它从 Cassandra 中拉出的一些推文上以批处理模式运行它,在这种情况下总共 200 条推文。
如示例所示,我正在使用此对象“矢量化”一组推文:
这是我从 ExaminAndTrain.scala 修改的代码:
此代码运行,每个集群打印“集群 0”“集群 1”等,下面没有打印。如果我翻转
至
除了每条推文都打印在每个集群下方之外,还会发生同样的事情。
这是我直觉认为正在发生的事情(如果错误,请纠正我的想法):这段代码将每条推文变成一个向量,随机挑选一些集群,然后运行 kmeans 对推文进行分组(在非常高的级别上,集群,我假设,将是常见的“主题”)。因此,当它检查每条推文以查看 models.predict == 1 时,不同的推文集应该出现在每个集群下(并且因为它会根据自身检查训练集,所以每条推文都应该在一个集群中)。为什么不这样做?要么我对 kmeans 所做的理解有误,要么我的训练集太小,要么我错过了一步。
任何帮助是极大的赞赏
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 为我指出正确的方向,以下解决方案有效:
java - Java中foreachActive用于spark Vector
如何用Java编写简单的代码来迭代稀疏向量中的活动元素?
假设我们有这样的向量:
我正在尝试使用 lambda 或 Function2(来自三个不同的导入,但总是失败)。如果您使用 Function2,请提供必要的导入。