2016-08-17 1 views
0

CrossValidatorModelspark.mlから各折りたたみの計算メトリックを取得するにはどうすればよいですか?私はmodel.avgMetricsを使用して平均測定基準を得ることができると知っていますが、それぞれの折り目で生の結果を見て、例えば見ることができます。結果の分散?CrossValidatorModelの各折りたたみの計算メトリックにアクセスするには

私はSpark 2.0.0を使用しています。折り目のためにspark code here

を勉強

答えて

0

、あなたはこのように反復を自分で行うことができます。

val splits = MLUtils.kFold(dataset.toDF.rdd, $(numFolds), $(seed)) 
    //K-folding operation starting 
    //for each fold you have multiple models created cfm. the paramgrid 
    splits.zipWithIndex.foreach { case ((training, validation), splitIndex) => 
     val trainingDataset = sparkSession.createDataFrame(training, schema).cache() 
     val validationDataset = sparkSession.createDataFrame(validation, schema).cache() 


     val models = est.fit(trainingDataset, epm).asInstanceOf[Seq[Model[_]]] 
     trainingDataset.unpersist() 
     var i = 0 
     while (i < numModels) { 
     val metric = eval.evaluate(models(i).transform(validationDataset, epm(i))) 
     logDebug(s"Got metric $metric for model trained with ${epm(i)}.") 
     metrics(i) += metric 
     i += 1 
     } 

これはScalaであるが、アイデアは非常に明確に概説されています。

this answerで、1回の折りたたみ結果の概要をご覧ください。お役に立てれば。

関連する問題