[ https://issues.apache.org/jira/browse/FLINK-1735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14532386#comment-14532386 ]
Christoph Alt commented on FLINK-1735: -------------------------------------- Hi, I'm also working with Felix on this issue. I developed an initial prototype taking the implementation of scikit-learn as a reference. Scikit only supports strings as categorical values, either as a sequence or bag of words. We can't use Transformer[Vector, Vecor] because Vector doesn't support arbitrary basic types. I don't know whether there are plans to integrate a tokenizer/sentence splitter but I assume the output would be something like DataSet[Seq[String]] in case of raw text or DataSet[TupleX[A]] in case of bag of words or images, which then is transformed to a Sparse/DenseVector by the feature hasher. I was wondering whether there is any convention or standard you want to follow? > Add FeatureHasher to machine learning library > --------------------------------------------- > > Key: FLINK-1735 > URL: https://issues.apache.org/jira/browse/FLINK-1735 > Project: Flink > Issue Type: New Feature > Components: Machine Learning Library > Reporter: Till Rohrmann > Assignee: Felix Neutatz > Labels: ML > > Using the hashing trick [1,2] is a common way to vectorize arbitrary feature > values. The hash of the feature value is used to calculate its index for a > vector entry. In order to mitigate possible collisions, a second hashing > function is used to calculate the sign for the update value which is added to > the vector entry. This way, it is likely that collision will simply cancel > out. > A feature hasher would also be helpful for NLP problems where it could be > used to vectorize bag of words or ngrams feature vectors. > Resources: > [1] [https://en.wikipedia.org/wiki/Feature_hashing] > [2] > [http://scikit-learn.org/stable/modules/feature_extraction.html#feature-extraction] -- This message was sent by Atlassian JIRA (v6.3.4#6332)