当前位置: 首页 > 知识库问答 >
问题:

pySpark中的保存回归模型

萧繁
2023-03-14

在pySpark MLlib中,似乎没有办法保存和加载回归模型,例如LogisticRegressionModel、SVModel、NaiveBayesModel和DecisionTreeModel。通过JavaSavable和JavaLoader mixins对推荐模型MatrixFactorizationModel进行加载和保存,但回归模型不是这样做的。

有没有一种方法,我可以通过提供我自己的负载和保存例程来解决这个问题?如果是这样,我该怎么做?

这个功能是在未来的版本中被期望的,还是pySpark MLlib被逐步淘汰?

共有1个答案

濮阳宏硕
2023-03-14

在Spark 1.3.1中,LinearModel类是大多数线性分类器(即LogisticRegressionModel)的基类,是一个纯Python类,因此您可以尝试对其进行pickle,或者您可以自己保存属性_coeff-weights()_intercept-intercept(),并构造LogisticRegressionModel类传递权值和拦截项,如下面的示例所示:

model = LogisticRegressionModel(weights, intercept)
 类似资料:
  • 试图将我的线性回归模型保存到磁盘上,我收到了一个错误:“typeerror:save()接受了2个位置参数,但给出了3个” sc=SparkContext() lr=线性回归(featuresCol='features',labelcol='nextorderindays',maxiter=10,regparam=0.3,ellasticnetparam=0.8) lr_model=LR.FIT(

  • 问题内容: Laravel中是否有回调,例如: 我搜索了但什么也没找到。如果没有这样的东西-实施它的最佳方法是什么? 谢谢! 问题答案: 实际上,Laravel在保存|更新|创建某些模型之前具有真实的回调。检查一下: https://github.com/laravel/laravel/blob/3.0/laravel/database/eloquent/model.php#L362 像保存和保存

  • 1 保序回归   保序回归解决了下面的问题:给定包含n个数据点的序列 y_1,y_2,...,y_n , 怎样通过一个单调的序列 beta_1,beta_2,...,beta_n 来归纳这个问题。形式上,这个问题就是为了找到   大部分时候,我们会在括号前加上权重w_i。解决这个问题的一个方法就是 pool adjacent violators algorithm(PAVA) 算法。粗略的讲,PA

  • Logistic回归模型 二项Logistic回归模型(binomial logistic regression model)是一种分类模型,由条件概率分布$$P(Y|X)$$表示,形式为参数化的logistic分布。 一、模型定义 模型是如下的条件概率分布: $$ P(Y=1|X)=\dfrac{e{w\cdot x+b}}{1+e{w\cdot x+b}} $$ $$ P(Y=0|X)=1-P

  • 1 基本概念 1.1 生存数据   生存数据就是关于某个体生存时间的数据。生存时间就是死亡时间减去出生时间。例如,以一个自然人的出生为“出生”,死亡为“死亡”。 那么,死亡时间减去出生时间,就是一个人的寿命,这是一个典型的生存数据。类似的例子,还可以举出很多。所有这些数据都有一个共同的特点, 就是需要清晰定义的:出生和死亡 。如果用死亡时间减去出生时间,就产生了一个生存数据。因为死亡一定发生在出生

  • 从这里开始,根据RDD/Spark DataFrame中的特定列从行中删除重复项,我们学习了如何根据一些特定变量删除重复的观察。如果我想以RDD的形式保存这些重复的观察结果,我该怎么做?我想如果RDD包含数十亿个观察值可能效率不高。那么除了使用之外,还有其他方法吗?