现在,我在ML中使用管道。学习算法是逻辑回归。然后,我从逻辑模型得到系数(权重)和截距,这意味着我有一个假设。
通常,我可以使用transform函数来预测管道模型中的测试数据。但是,我设计了一种改进假设的新方法。因此,我得到一个修改过的假设(系数(权重)和截距)。
//fitting the model
.....
......
val model = pipeline.fit(trainingRDD)
//predict the testing data
val predictionResult = model.transform(testingRDD)
//Now, I want to modify the hypothesis and predict again
//getting the hypothesis
val h = model.stages.collect{
case lr: LogisticRegressionModel => Vectors.dense(lr.coefficients.toArray :+ lr.intercept)
}.head
//modify the hypothesis
......
......
val new_h = mothed(h)
//Now, I want to modify the hypothesis and predict again
//What should I do?
问题在于:
如何使用修改后的假设来预测火花中的训练数据?
我认为这是一个糟糕的方式:
修改后的假设在测试数据中使用for循环运行,然后我可以获得新预测的结果。但是,我认为它没有效果。
由于