问题标签 [apache-spark-ml]
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.
scala - 如何在 spark.ml 中反序列化 Pipeline 模型?
我已经序列化了一个 Spark ML 管道模型,该模型由许多 TransformerS (org.apache.spark.ml.Transformer) 和几个逻辑回归学习器 (org.apache.spark.ml.classification.LogisticRegression) 组成。在我创建模型的 Windows 机器上一切正常。我使用 java.io.ObjectOutputStream 将模型序列化到磁盘并使用 java.io.ObjectInputStream 将其读回。
这一切都可以通过 sbt 和我相应的单元测试正常工作。但是,当我将我的代码组装到一个 jar 中并尝试在我的服务器上的 Spark shell 中运行相同的代码时,我的(第一个)转换器得到了 ClassNotFoundException。堆栈跟踪包括在下面。
我在我的 build.sbt 文件中使用 fork := true ,因为我认为这可能与注册 table 时的 SparkSQL MissingRequirementError相关,但这似乎没有帮助。
尝试从 jar 文件或直接从磁盘加载模型也没有区别(如下所示)。
如何反序列化管道?
python - PySpark 中的 PCA 分析
查看http://spark.apache.org/docs/latest/mllib-dimensionality-reduction.html。这些示例似乎只包含 Java 和 Scala。
Spark MLlib 是否支持 Python 的 PCA 分析?如果是这样,请给我举个例子。如果没有,如何将 Spark 与 scikit-learn 结合起来?
scala - Spark 多类分类示例
你们知道在哪里可以找到 Spark 中多类分类的示例吗?我花了很多时间在书籍和网络上搜索,到目前为止我只知道根据文档的最新版本是可能的。
apache-spark - 如何在 Spark Pipeline 中使用 RandomForest
我想用网格搜索和火花交叉验证来调整我的模型。在spark中,必须将base model放到一个pipeline中,pipeline的office demo使用的LogistictRegression
是base model,可以new作为object。但是,该RandomForest
模型不能通过客户端代码新建,因此似乎无法RandomForest
在管道 api 中使用。我不想重新创建一个轮子,所以有人可以提供一些建议吗?谢谢
apache-spark - 如何使用 spark-ml 处理分类特征?
如何使用 spark-ml
和 不 spark-mllib
处理分类数据?
认为文档不是很清楚,似乎分类器例如RandomForestClassifier
, LogisticRegression
, 有一个featuresCol
参数,它指定 中的特征列的名称DataFrame
,以及一个labelCol
参数,它指定 中的标记类列的名称DataFrame
。
显然我想在我的预测中使用多个特征,所以我尝试使用 将VectorAssembler
我的所有特征放在一个向量中featuresCol
。
但是,VectorAssembler
唯一接受数字类型、布尔类型和向量类型(根据 Spark 网站),所以我不能将字符串放入我的特征向量中。
我应该如何进行?
apache-spark - 如何从 Spark ML Lib 中的 TF Vector RDD 获取单词详细信息?
我HashingTF
在 Spark 中使用创建了词频。我得到了tf.transform
每个单词使用的术语频率。
但结果以这种格式显示。
例如:
我能够使用tf.indexOf("word")
.
但是,如何使用索引获取单词?
java - 如何将模型从 ML Pipeline 保存到 S3 或 HDFS?
我正在尝试保存由 ML Pipeline 生成的数千个模型。如这里的答案所示,模型可以保存如下:
我尝试过使用s3://some/path/$name
,并且/user/hadoop/some/path/$name
我希望模型最终保存到亚马逊 s3,但它们都失败了,并显示无法找到路径的消息。
如何将模型保存到 Amazon S3?
python - 在 PySpark ML 中创建自定义 Transformer
我是 Spark SQL DataFrames 和 ML 的新手(PySpark)。如何创建自定义标记器,例如删除停用词并使用nltk中的一些库?我可以扩展默认的吗?
scala - 如何为 ML 算法矢量化 DataFrame 列?
有一个带有一些分类字符串值的 DataFrame(例如 uuid|url|browser)。
我会将其转换为双精度以执行接受双矩阵的 ML 算法。
作为转换方法,我使用 StringIndexer (spark 1.4) 将我的字符串值映射到双精度值,所以我定义了一个这样的函数:
现在的问题是我将迭代 df 的 foreach 列,调用此函数并在解析的双列中添加(或转换)原始字符串列,因此结果将是:
初始df:
最终df:
提前致谢
apache-spark - Spark.ml LogisticRegression 是否只假设数字特征?
我正在查看Spark 1.5
数据框/行 api和逻辑回归的实现。据我了解,train
其中的方法首先将转换dataframe
为RDD[LabeledPoint]
as,
然后进行特征标准化等。
我感到困惑的是,DataFrame
is 的类型RDD[Row]
并且Row
允许有 any valueTypes
,例如(1, true, "a string", null)
似乎是数据帧的有效行。如果是这样,extractLabeledPoints
上面的意思是什么?似乎它仅选择Array[Double]
作为Vector
. 如果数据框中的列是 会发生什么strings
?另外,整数分类值会发生什么?
在此先感谢,尼基尔