2
我有一个用LinearRegression处理的DataFrame。如果我做它直接,像下面,我可以显示模型的细节:如何访问ML管道中基础模型的参数?
val lr = new LinearRegression()
val lrModel = lr.fit(df)
lrModel: org.apache.spark.ml.regression.LinearRegressionModel = linReg_b22a7bb88404
println(s"Coefficients: ${lrModel.coefficients} Intercept: ${lrModel.intercept}")
Coefficients: [0.9705748115939526] Intercept: 0.31041486689532866
然而,如果I(在下面的简化示例等)使用它管线内部,
val pipeline = new Pipeline().setStages(Array(lr))
val lrModel = pipeline.fit(df)
那么我得到以下错误。
scala> lrModel
res9: org.apache.spark.ml.PipelineModel = pipeline_99ca9cba48f8
scala> println(s"Coefficients: ${lrModel.coefficients} Intercept: ${lrModel.intercept}")
<console>:68: error: value coefficients is not a member of org.apache.spark.ml.PipelineModel
println(s"Coefficients: ${lrModel.coefficients} Intercept: ${lrModel.intercept}")
^
<console>:68: error: value intercept is not a member of org.apache.spark.ml.PipelineModel
println(s"Coefficients: ${lrModel.coefficients} Intercept: ${lrModel.intercept}")
我明白这意味着什么(很明显我有一个不同的类,因为管道的),但不知道怎么去真正的底层模型。