apache-spark-ml相关内容
我正在尝试保存 ML Pipeline 生成的数千个模型.如答案中所述此处,模型可以保存如下: 导入 java.io._def saveModel(name: String, 模型: PipelineModel) = {val oos = new ObjectOutputStream(new FileOutputStream(s"/some/path/$name"))oos.writeObjec
..
我注意到 SparkML 中有两个 LinearRegressionModel 类,一个在 ML 包 (spark.ml) 中,另一个在 MLLib (spark.mllib) 包. 这两者的实现方式完全不同 - 例如MLLib 中的一个实现了 Serializable,而另一个没有. 顺便说一下,RandomForestModel 或 Word2Vec 也是如此. 为什么有两个
..
我正在尝试弄清楚 ALS 模型如何预测新用户在批处理过程更新之间的值.在我的搜索中,我遇到了这个 stackoverflow 答案.为方便读者,我复制了以下答案: 您可以使用经过训练的模型(无需更新)获得对新用户的预测: 为了获得模型中用户的预测,您使用其潜在表示(大小为 f 的向量 u(因子数)),乘以产品潜在因子矩阵(由所有产品的潜在表示组成的矩阵),一堆大小为 f) 的向量,并为
..
我正在尝试在 PySpark MLlib 中构建一个简单的自定义 Estimator.我有这里可以编写自定义转换器,但我不确定如何在 Estimator 上执行此操作.我也不明白 @keyword_only 做了什么,为什么我需要这么多的 setter 和 getter.Scikit-learn 似乎有自定义模型的适当文档(见这里)但PySpark没有. 示例模型的伪代码: class N
..
我在 Spark 中使用 HashingTF 创建了词频.我使用 tf.transform 为每个单词获得了词频. 但结果以这种格式显示. [,...],[termFrequencyofWord1, termFrequencyOfWord2 ....] 例如: (1048576,[105,3116],[1.0,2.0]) 我可以使用 tf.indexOf("word") 获取哈希桶中
..
我对一些数据应用了一些机器学习算法,如线性回归、逻辑回归和朴素贝叶斯,但我试图避免使用 RDD 并开始使用数据帧,因为 RDDs 比 pyspark 下的 Dataframes 慢(见图 1). 我使用 DataFrames 的另一个原因是 ml 库有一个非常有用的类来调整模型,它是 CrossValidator 这个类在拟合之后返回一个模型,显然这个方法要测试几个场景,然后返回一个拟合模型
..
我正在尝试在 JSON 文件上创建 LDA 模型. 使用 JSON 文件创建 spark 上下文: import org.apache.spark.sql.SparkSessionval sparkSession = SparkSession.builder.master("本地").appName("my-spark-app").config("spark.some.config.opt
..
我如何使用 spark-ml 而不是 spark-mllib 处理分类数据? 认为文档不是很清楚,似乎分类器例如RandomForestClassifier,LogisticRegression,有一个featuresCol参数,它指定DataFrame中特征列的名称,和一个 labelCol 参数,它指定 DataFrame 中标记类的列的名称. 显然我想在我的预测中使用多个特征,所
..
我有一个 Python 类,用于在 Spark 中加载和处理一些数据.在我需要做的各种事情中,我正在生成一个从 Spark 数据帧中的各个列派生的虚拟变量列表.我的问题是我不确定如何正确定义用户定义的函数来完成我需要的功能. 我确实目前有一个方法,当映射到底层数据帧 RDD 时,解决了一半的问题(请记住,这是一个更大的 data_processor 类中的方法): def build_fe
..
我遇到了 VectorAssembler 的一个非常奇怪的行为,我想知道是否有其他人看到过这个. 我的场景非常简单.我从 CSV 文件中解析数据,其中有一些标准的 Int 和 Double 字段,我还计算了一些额外的列.我的解析函数返回这个: val connected = countPerChannel ++ countPerSource//两个双打数组加入(label, orderNo
..
我正在尝试保存 ML Pipeline 生成的数千个模型.如答案中所述此处,模型可以保存如下: 导入 java.io._def saveModel(name: String, 模型: PipelineModel) = {val oos = new ObjectOutputStream(new FileOutputStream(s"/some/path/$name"))oos.writeObjec
..
我注意到 SparkML 中有两个 LinearRegressionModel 类,一个在 ML 包 (spark.ml) 中,另一个在 MLLib (spark.mllib) 包. 这两者的实现方式完全不同 - 例如MLLib 中的一个实现了 Serializable,而另一个没有. 顺便说一下,RandomForestModel 或 Word2Vec 也是如此. 为什么有两个
..
我正在尝试在 PySpark 中运行线性回归,并且我想创建一个包含汇总统计数据的表格,例如数据集中每一列的系数、P 值和 t 值.但是,为了训练线性回归模型,我必须使用 Spark 的 VectorAssembler 创建一个特征向量,现在对于每一行,我都有一个特征向量和目标列.当我尝试访问 Spark 的内置回归汇总统计数据时,它们为我提供了每个统计数据的原始数字列表,并且无法知道哪个属性对应哪
..
我正在尝试弄清楚 ALS 模型如何预测新用户在批处理过程更新之间的值.在我的搜索中,我遇到了这个 stackoverflow 答案.为方便读者,我复制了以下答案: 您可以使用经过训练的模型(无需更新)获得对新用户的预测: 为了获得模型中用户的预测,您使用其潜在表示(大小为 f 的向量 u(因子数)),乘以产品潜在因子矩阵(由所有产品的潜在表示组成的矩阵),一堆大小为 f) 的向量,并为
..
我正在尝试在 PySpark MLlib 中构建一个简单的自定义 Estimator.我有这里可以编写自定义转换器,但我不确定如何在 Estimator 上执行此操作.我也不明白 @keyword_only 做了什么,为什么我需要这么多的 setter 和 getter.Scikit-learn 似乎有自定义模型的适当文档(见这里)但PySpark没有. 示例模型的伪代码: class N
..
我正在尝试调整使用隐式数据的 ALS 矩阵分解模型的参数.为此,我尝试使用 pyspark.ml.tuning.CrossValidator 来运行参数网格并选择最佳模型.我相信我的问题出在评估器上,但我想不通. 我可以使用回归 RMSE 评估器使其适用于显式数据模型,如下所示: from pyspark import SparkConf, SparkContext从 pyspark.sq
..
我通过调用instances.groupBy(instances.col("property_name"))创建了一个RelationalGroupedDataset: val x = instances.groupBy(instances.col("property_name")) 如何编写 用户定义的聚合函数 来执行Statistics.colStats().mean 每组? 谢谢!
..
我正在准备一个玩具 spark.ml 示例.Spark 1.6.0 版,运行在 Oracle JDK 1.8.0_65 版、pyspark、ipython notebook 之上. 首先,它几乎与 Spark、ML、StringIndexer:处理看不见的标签.将管道拟合到数据集时抛出异常,而不是转换它.在这里抑制异常可能不是解决方案,因为恐怕在这种情况下数据集会变得非常糟糕. 我的数
..
我在 Spark 中使用 HashingTF 创建了词频.我使用 tf.transform 为每个单词获得了词频. 但结果以这种格式显示. [,...],[termFrequencyofWord1, termFrequencyOfWord2 ....] 例如: (1048576,[105,3116],[1.0,2.0]) 我可以使用 tf.indexOf("word") 获取哈希桶中
..
我对一些数据应用了一些机器学习算法,如线性回归、逻辑回归和朴素贝叶斯,但我试图避免使用 RDD 并开始使用数据帧,因为 RDDs 比 pyspark 下的 Dataframes 慢(见图 1). 我使用 DataFrames 的另一个原因是 ml 库有一个非常有用的类来调整模型,它是 CrossValidator 这个类在拟合之后返回一个模型,显然这个方法要测试几个场景,然后返回一个拟合模型
..