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 11:32:04 GMT

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

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

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

    https://github.com/apache/flink/pull/871#discussion_r34138011
  
    --- Diff: flink-staging/flink-ml/src/main/scala/org/apache/flink/ml/evaluation/Scorer.scala
---
    @@ -0,0 +1,43 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.flink.ml.evaluation
    +
    +import org.apache.flink.api.scala._
    +import org.apache.flink.ml.common.{FlinkMLTools, ParameterMap, WithParameters}
    +import org.apache.flink.ml.pipeline.Predictor
    +
    +import org.apache.flink.ml.pipeline.EvaluateDataSetOperation
    +
    +//TODO: Need to generalize type of Score (and evaluateOperation)
    +class Scorer(val metric: Score[Double]) extends WithParameters {
    +
    +  def evaluate[Testing, PredictorInstance<: Predictor[PredictorInstance]](
    +      testing: DataSet[Testing],
    +      predictorInstance: PredictorInstance,
    +      evaluateParameters: ParameterMap = ParameterMap.Empty)
    +      (implicit evaluateOperation: EvaluateDataSetOperation[PredictorInstance, Testing,
Double]):
    +    DataSet[Double] = {
    +
    +    FlinkMLTools.registerFlinkMLTypes(testing.getExecutionEnvironment)
    +    val resultingParameters = predictorInstance.parameters ++ evaluateParameters
    +    val predictions = predictorInstance.evaluate[Testing, Double](testing, resultingParameters)
    +    //TODO: Use parameters
    --- End diff --
    
    This I left there, because some scores depend on parameters, like for example the F-beta
score. However those should be set when we create the `Score` object, so passing additional
parameters here is probably unnecessary. I will remove this.


> 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