The ClassificationCriterion and RegressionCriterion are now exposed in the
_criterion.pxd. It will allow you to create your own criterion.
So you can write your own Criterion with a given loss by implementing the
methods which are required in the trees.
Then you can pass an instance of this criterion to the tree and it should
work.

On 15 February 2018 at 18:37, Thomas Evangelidis <teva...@gmail.com> wrote:

> Greetings,
>
> The feature importance calculated by the RandomForest implementation is a
> very useful feature. I personally use it to select the best features
> because it is simple and fast, and then I train MLPRegressors. The
> limitation of this approach is that although I can control the loss
> function of the MLPRegressor (I have modified scikit-learn's implementation
> to accept an arbitrary loss function), I cannot do the same with
> RandomForestRegressor, and hence I have to rely on 'mse' which is not in
> accordance with the loss functions I use in MLPs. Today I was looking at
> the _criterion.pyx file:
>
> https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_
> criterion.pyx
>
> However, the code is in Cython and I find it hard to follow. I know that
> for Regression the relevant class are Criterion(),
> RegressionCriterion(Criterion), and MSE(RegressionCriterion). My question
> is: is it possible to write a class that takes an arbitrary function
> "loss(predictions, targets)" to calculate the loss and impurity of the
> nodes?
>
> thanks,
> Thomas
>
>
> --
>
> ======================================================================
>
> Dr Thomas Evangelidis
>
> Post-doctoral Researcher
> CEITEC - Central European Institute of Technology
> Masaryk University
> Kamenice 5/A35/2S049,
> 62500 Brno, Czech Republic
>
> email: tev...@pharm.uoa.gr
>
>           teva...@gmail.com
>
>
> website: https://sites.google.com/site/thomasevangelidishomepage/
>
>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn@python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
>


-- 
Guillaume Lemaitre
INRIA Saclay - Parietal team
Center for Data Science Paris-Saclay
https://glemaitre.github.io/
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to