用r检验spark.ml.regression.linearregression模型计算出的系数

n9vozmp4  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(340)

你知道如何用r来验证spark.ml.regression.linearregressionmodel计算出的系数吗?我试过r中的lm()函数,但是r和spark中的两组系数是完全不同的。也许我应该在r中使用其他函数?

// transform dataframe
val spark = SparkSession.builder().master("local").getOrCreate()
import spark.implicits._
val df = dataRDD.map{case(fdate, adHashValue, effectDummyArray, timeDummyArray, label) =>
val features = Vectors.dense(effectDummyArray ++ timeDummyArray)
  (label, features)
}.toDF("label", "features")

// set up model
val lr = new LinearRegression().setRegParam(0.3)

val lr_model = lr.fit(df)
val summary = lr_model.summary
val PValues = summary.pValues
val Variance = summary.coefficientStandardErrors.map{x => x * x}
val coefficients: Array[Double] = lr_model.coefficients.asInstanceOf[DenseVector].values
oalqel3c

oalqel3c1#

可以。将regparam设置为接近0。可以做得很好。 setRegParam(0.00001).setSolver("normal")

相关问题