初始化火花中svm的权重

时间:2015-09-17 23:18:46

标签: scala apache-spark

我正在尝试为spark中的SVM初始化分配自己的权重。但是在训练模型后我得到了错误的预测值。如果我使用默认值,即不提供初始权重向量,我会得到一个好的预测模型。

我检查了github上的代码,但是在我们没有传递任何内容的情况下无法弄清楚如何完成初始化。 https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/classification/SVM.scala

有什么建议吗?

编辑:我有使用scala的经验

1 个答案:

答案 0 :(得分:2)

SVMWithSGDrun继承了GeneralizedLinearAlgorithm方法。如果未提供权重向量,则只需initialized using vector of zeros

val initialWeights = {
  if (numOfLinearPredictor == 1) {
    Vectors.zeros(numFeatures)
  } else if (addIntercept) {
    Vectors.zeros((numFeatures + 1) * numOfLinearPredictor)
  } else {
    Vectors.zeros(numFeatures * numOfLinearPredictor)
  }
}