2017-01-25 13 views
2

Я хотел бы получить значения коэффициентов линейной регрессии (LR) в Spark-MLlib. Здесь я использую «LinearRegressionWithSGD» для построения модели, и вы можете найти образец по следующей ссылке:Как получить значения коэффициентов из модели линейной регрессии Spark-MLlib (Scala)?

https://spark.apache.org/docs/2.1.0/mllib-linear-methods.html#regression

я мог бы получить значение коэффициентов от искрового ML линейной регрессии. Пожалуйста, найдите ссылку ниже.

https://spark.apache.org/docs/2.1.0/ml-classification-regression.html#linear-regression

Пожалуйста, помогите мне с этим. Заранее спасибо !!

ответ

1

Взял первые строки создания модели из первой ссылке вы послали:

val model: LinearRegressionModel = LinearRegressionWithSGD.train(parsedData, numIterations, stepSize) 
.run(training) 
// Here are the coefficient and intercept 
val weights: org.apache.spark.mllib.linalg.Vector = model.weights 
val intercept = model.intercept 
val weightsData: Array[Double] = weights.asInstanceOf[DenseVector].values 

Последние 3 линии являются коэффициент и перехватывать

Тип weights является : org.apache.spark.mllib.linalg.Vector

То есть обертка вокруг Бриза DenseVector

+0

Есть ли способ найти имя столбца/поля th e коэффициент? Здесь «веса» возвращают коэффициенты в виде массива, и я не уверен, какой коэффициент столбца он есть? Не могли бы вы мне помочь? – Ramkumar

+0

Просто, я хотел бы знать, какие все поля я рассмотрел для построения модели линейной регрессии. Есть ли доступный API? – Ramkumar

+0

Я не смотрел на это некоторое время. Я думаю, что я просто установил простой тестовый проект в Scala и посмотрел на объекты, возможно, из Eclipse. –