flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-2157) Create evaluation framework for ML library
Date Wed, 08 Jul 2015 16:21:04 GMT

    [ https://issues.apache.org/jira/browse/FLINK-2157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14618860#comment-14618860
] 

ASF GitHub Bot commented on FLINK-2157:
---------------------------------------

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/871#discussion_r34167423
  
    --- Diff: flink-staging/flink-ml/src/main/scala/org/apache/flink/ml/pipeline/Predictor.scala
---
    @@ -72,12 +74,36 @@ trait Predictor[Self] extends Estimator[Self] with WithParameters
{
         */
       def evaluate[Testing, PredictionValue](
           testing: DataSet[Testing],
    -      evaluateParameters: ParameterMap = ParameterMap.Empty)(implicit
    -      evaluator: EvaluateDataSetOperation[Self, Testing, PredictionValue])
    +      evaluateParameters: ParameterMap = ParameterMap.Empty)
    +      (implicit evaluator: EvaluateDataSetOperation[Self, Testing, PredictionValue])
         : DataSet[(PredictionValue, PredictionValue)] = {
         FlinkMLTools.registerFlinkMLTypes(testing.getExecutionEnvironment)
         evaluator.evaluateDataSet(this, evaluateParameters, testing)
       }
    +
    +  /** Calculates a numerical score for the [[Predictor]]
    +    *
    +    * By convention, higher scores are considered better, so even if a loss is used as
a performance
    +    * measure, it will be negated, so that that higher is better.
    +    * @param testing The evaluation DataSet, that contains the features and the true
value
    +    * @param evaluateOperation An EvaluateDataSetOperation that produces Double results
    +    * @tparam Testing The type of the features and true value, for example [[LabeledVector]]
    +    * @return A DataSet containing one Double that indicates the score of the predictor
    +    */
    +  def score[Testing](testing: DataSet[Testing])
    --- End diff --
    
    I think it is fine, if we restrict the `Predictor` to only predict `Double`. However,
as long as we don't do it, the `score` function should be as general as all the other methods
as well.


> Create evaluation framework for ML library
> ------------------------------------------
>
>                 Key: FLINK-2157
>                 URL: https://issues.apache.org/jira/browse/FLINK-2157
>             Project: Flink
>          Issue Type: New Feature
>          Components: Machine Learning Library
>            Reporter: Till Rohrmann
>            Assignee: Theodore Vasiloudis
>              Labels: ML
>             Fix For: 0.10
>
>
> Currently, FlinkML lacks means to evaluate the performance of trained models. It would
be great to add some {{Evaluators}} which can calculate some score based on the information
about true and predicted labels. This could also be used for the cross validation to choose
the right hyper parameters.
> Possible scores could be F score [1], zero-one-loss score, etc.
> Resources
> [1] [http://en.wikipedia.org/wiki/F1_score]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message