2016-05-03 3 views
2

Я строю трубопровод ML для логистической регрессии.Как вычислить лог-потерю для обученной модели?

val lr = new LogisticRegression() 
lr.setMaxIter(100).setRegParam(0.001) 

val pipeline = new Pipeline().setStages(Array(geoDimEncoder,clientTypeEncoder, 
       devTypeDimIdEncoder,pubClientIdEncoder,tmpltIdEncoder, 
       hourEncoder,assembler,lr)) 

val model = pipeline.fit(trainingDF) 

Теперь, когда модель обучена, я хочу видеть вероятности для обучающей выборки и вычислять определенные параметры проверки, такие как лог-лосса. Но я не могу найти это, используя «модель».

Единственное, что я мог бы найти везде

model.transform(testDF).select(....) 

Как получить метрики с помощью обученного набор для обучения набора проверки?

ответ

0

Пожалуйста, проверьте следующие способы, должны работать для вас:

val lr = new LogisticRegression() 
    .setMaxIter(10) 
    .setRegParam(0.3) 
    .setElasticNetParam(0.8) 

val lrModel = lr.fit(data) 

val trainingSummary = lrModel.summary 

// Obtain the objective per iteration. 
val objectiveHistory = trainingSummary.objectiveHistory 
println("objectiveHistory:") 
objectiveHistory.foreach(loss => println(loss)) 
Смежные вопросы