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

Hae Joon Lee commented on FLINK-1731:
-------------------------------------

Hi, I am testing K-mean right now.
I faced an error "could not find implicit value for parameter"
I solved a lot of things except for this one.

* Error:(142, 53) could not find implicit value for parameter op: 
breeze.linalg.operators.OpDiv.Impl2[breeze.linalg.Vector[Double],Long,That].map(x
 => LabeledVector(x._1, x._2.asBreeze / 1L)).withForwardedFields("_1->id")

{code:title=KMeans.scala|borderStyle=solid}
val finalCentroids = centroids.iterate(numIterations) { currentCentroids =>
val newCentroids: DataSet[LabeledVector] = input
  .map(new SelectNearestCenterMapper).withBroadcastSet(currentCentroids, 
CENTROIDS)
  .map(x => (x.label, x.vector, 1L)).withForwardedFields("_1; _2")
  .groupBy(x => x._1)
  .reduce((p1, p2) => (p1._1, (p1._2.asBreeze + p2._2.asBreeze).fromBreeze, 
p1._3 + p2._3)).withForwardedFields("_1")
  .map(x => LabeledVector(x._1, x._2.asBreeze :/ 
x._3)).withForwardedFields("_1->id")
  newCentroids
}
{code}

As far as I know, the error "could not find implicit value for parameter" can 
be solved by putting exact import class.
                                                    
I put 'import breeze.linalg.operators._' on import line as well. 
but it does not work.
Have you ever seen this kind of error before?



> Add kMeans clustering algorithm to machine learning library
> -----------------------------------------------------------
>
>                 Key: FLINK-1731
>                 URL: https://issues.apache.org/jira/browse/FLINK-1731
>             Project: Flink
>          Issue Type: New Feature
>          Components: Machine Learning Library
>            Reporter: Till Rohrmann
>            Assignee: Peter Schrott
>              Labels: ML
>
> The Flink repository already contains a kMeans implementation but it is not 
> yet ported to the machine learning library. I assume that only the used data 
> types have to be adapted and then it can be more or less directly moved to 
> flink-ml.
> The kMeans++ [1] and the kMeans|| [2] algorithm constitute a better 
> implementation because the improve the initial seeding phase to achieve near 
> optimal clustering. It might be worthwhile to implement kMeans||.
> Resources:
> [1] http://ilpubs.stanford.edu:8090/778/1/2006-13.pdf
> [2] http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf



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

Reply via email to