我正在研究Spark的ml.LogisticRegression
,以查找在何处以及如何标准化其输入数据集。
但是,当我检查spark/mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala时,我期望的是类似
if(standardization){
scaled_dataset = do_standardization(old_dataset)
}
然后我可以检查使用哪种方法(最小-最大,zscore或其他方法)。但是,我发现没有证据表明LR正在使用标准化。我知道使用当前的LBFGS优化器,是否进行标准化并不重要,但是由于spark仍然提供了setStandardization
选项,并说使用标准化会提供更好的收敛性,所以我想知道在哪里以及如何进行进行标准化。
从当前代码中,我发现集standardization
还是不仅影响了如何进行正则化。似乎火花将featuresStd
乘以系数,而不是对数据集进行z评分。