You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Alexey Zinoviev <za...@gmail.com> on 2018/07/19 12:29:01 UTC
[ML] Machine Learning Pipeline Improvement
Hi Igniters,
I suggest to add and implement by myself sequential pipeline of machine
learning operations including all preprocessing stages like Pipeline object
in Python library scikit-learn (look here
http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html
for the details)
It can be combined with current Cross-Validator and Evaluator objects.
The possible solution will sequentially apply a list of transforms and a
final estimator.
Alexey
Re: [ML] Machine Learning Pipeline Improvement
Posted by Alexey Zinoviev <za...@gmail.com>.
Dear Manu
it could be a great idea!
Could you please provide any examples of Apache Arrow integration for speed
up ML computation in another ML frameworks, it would be very helpful!
Sincerely yours
Alexey Zinovyev
--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: [ML] Machine Learning Pipeline Improvement
Posted by Manu <ma...@hotmail.com>.
Hi, all!
Could be viable to integrate Apache Arrow to improve ML computation using
GPU?
Out of this thread, could be viable to integrate Apache Arrow to improve
Indexing computation using GPU?
Regards
https://rapids.ai <https://rapids.ai>
https://arrow.apache.org <https://arrow.apache.org>
--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: [ML] Machine Learning Pipeline Improvement
Posted by Alexey Zinoviev <za...@gmail.com>.
The prototype of the API will look like that
PipelineMdl mdl = new Pipeline<Integer, Object[]> ()
.addFeatureExtractor(featureExtractor)
.addLabelExtractor(lbExtractor)
.addStage(new EncoderTrainer<Integer, Object[]>()
.withEncoderType(EncoderType.STRING_ENCODER)
.withEncodedFeature(1)
.withEncodedFeature(6))
.addStage(new ImputerTrainer<Integer, Object[]>())
.addStage(new MinMaxScalerTrainer<Integer,
Object[]>())
.addStage(new NormalizationTrainer<Integer,
Object[]>()
.withP(1))
.addFinalStage(new
DecisionTreeClassificationTrainer(5, 0))
.fit(ignite, dataCache);
Also, I've added separate ticket for the update of ParamGrid/CrossValidation
API to support tune hyperparameters not only in final trainers but in
intermideate preprocessing stages too.
https://issues.apache.org/jira/browse/IGNITE-9497
I suggest to add this feature in 2.8 because it doesn't change the current
API of algorithms and has no serialized issues
--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: [ML] Machine Learning Pipeline Improvement
Posted by Yury Babak <y....@gmail.com>.
Sure, https://issues.apache.org/jira/browse/IGNITE-9158.
Regards,
Yury
--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: [ML] Machine Learning Pipeline Improvement
Posted by Alexey Zinoviev <za...@gmail.com>.
Could you please create a ticket for this task?
2018-07-20 16:47 GMT+06:00 Yury Babak <y....@gmail.com>:
> Alexey,
>
> I like this idea, this should improve usability of our ML module.
>
> Regards,
> Yury
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>
Re: [ML] Machine Learning Pipeline Improvement
Posted by Yury Babak <y....@gmail.com>.
Alexey,
I like this idea, this should improve usability of our ML module.
Regards,
Yury
--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
Re: [ML] Machine Learning Pipeline Improvement
Posted by Alexey Zinoviev <za...@gmail.com>.
Yes, it make the prerocessing easy and clear for reading and understanding.
In API it will looks like
Model mdl = Pipeline.of(reading, featureExctracting, labelExtracting,
normalizing, encoding, scaling, logisticRegression)
where in .of(...) we can see the sequence of ML stages.
Re: [ML] Machine Learning Pipeline Improvement
Posted by Denis Magda <dm...@apache.org>.
Hi Alexey,
I can't name myself an ML expert but heard that our ML component is missing
some essential data preprocessing APIs.
Are these pipelines part of our intention to bring in the preprocessing
APIs to Ignite?
--
Denis
On Thu, Jul 19, 2018 at 5:29 AM Alexey Zinoviev <za...@gmail.com>
wrote:
> Hi Igniters,
>
> I suggest to add and implement by myself sequential pipeline of machine
> learning operations including all preprocessing stages like Pipeline object
> in Python library scikit-learn (look here
>
> http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html
> for the details)
>
> It can be combined with current Cross-Validator and Evaluator objects.
>
> The possible solution will sequentially apply a list of transforms and a
> final estimator.
>
> Alexey
>