小编ml_*_*_0x的帖子

pySpark:保存ML模型

有人可以举例说明如何在pySpark中保存ML模型吗?

对于

ml.classification.LogisticRegressionModel
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下内容:

model.save("path")
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。

machine-learning apache-spark pyspark

6
推荐指数
1
解决办法
1万
查看次数

VectorAssembler只输出到DenseVector?

VectorAssembler的功能有些令人讨厌.我目前正在将一组列转换为单列向量,然后使用StandardScaler函数将缩放应用于包含的要素.但是,出于内存原因,似乎SPARK决定是否应该使用DenseVector或SparseVector来表示每行功能.但是,当您需要使用StandardScaler时,SparseVector的输入无效,只允许DenseVectors.有人知道解决方案吗?

编辑: 我决定只使用UDF函数,将稀疏矢量转换为密集矢量.有点傻但有效.

apache-spark pyspark

5
推荐指数
1
解决办法
4250
查看次数

Spark:测量 ALS 的性能

我正在使用 ALS 模型来spark.ml创建一个推荐系统,该系统使用特定项目集合的隐式反馈。我注意到模型的输出预测远低于 1,并且通常在 [0,0.1] 区间内。因此,在这种情况下使用 MAE 或 MSE 没有任何意义。

因此我使用 ROC 面积(AUC)来衡量性能。我通过使用 Spark 来做到这一点BinaryClassificationEvaluator,并且确实得到了接近 0.8 的值。但是,我无法清楚地理解这是如何可能的,因为大多数值的范围在 [0,0.1] 内。

据我了解,在某一点之后,评估者将考虑所有预测都属于 0 类。这本质上意味着 AUC 将等于负样本的百分比?

一般来说,如果您需要测试模型与逻辑回归相比的性能,您将如何处理如此低的值?

我按如下方式训练模型:

rank = 25
alpha = 1.0
numIterations = 10
als = ALS(rank=rank, maxIter=numIterations, alpha=alpha, userCol="id", itemCol="itemid", ratingCol="response", implicitPrefs=True, nonnegative=True)
als.setRegParam(0.01)
model = als.fit(train)
Run Code Online (Sandbox Code Playgroud)

machine-learning apache-spark pyspark

5
推荐指数
1
解决办法
2539
查看次数

标签 统计

apache-spark ×3

pyspark ×3

machine-learning ×2