You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2019/10/10 13:12:08 UTC

[jira] [Updated] (IGNITE-11655) ML: OneHotEncoder returns more columns than expected

     [ https://issues.apache.org/jira/browse/IGNITE-11655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maxim Muzafarov updated IGNITE-11655:
-------------------------------------
    Fix Version/s: 2.8

> ML: OneHotEncoder returns more columns than expected
> ----------------------------------------------------
>
>                 Key: IGNITE-11655
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11655
>             Project: Ignite
>          Issue Type: Bug
>          Components: ml
>    Affects Versions: 2.7
>            Reporter: Anton Dmitriev
>            Assignee: Alexey Zinoviev
>            Priority: Critical
>             Fix For: 2.8
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> OneHotEncoder returns more columns than expected (two values that might be encoded using two columns encoded using 3 columns). The following example demonstrates the problem:
> {code:java}
> Map<Integer, Object[]> training = new HashMap<>();
> training.put(0, new Object[]{42.0});
> training.put(1, new Object[]{43.0});
> training.put(2, new Object[]{42.0});
> EncoderTrainer<Integer, Object[]> trainer = new EncoderTrainer<Integer, Object[]>()
>     .withEncoderType(EncoderType.ONE_HOT_ENCODER)
>     .withEncodedFeature(0);
> IgniteBiFunction<Integer, Object[], Vector> processor = trainer.fit(training, 1, (k, v) -> v);
> Vector res = processor.apply(1, new Object[]{42.0});
> System.out.println(Arrays.toString(res.asArray()));
> >>> [0.0, 1.0, 0.0]
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)