[scikit-learn] custom loss function in RandomForestRegressor
Andreas Mueller
t3kcit at gmail.com
Thu Feb 15 12:49:46 EST 2018
Yes, but if you write it in Python, not Cython, it will be unbearably slow.
On 02/15/2018 12:37 PM, Thomas Evangelidis 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: tevang at pharm.uoa.gr <mailto:tevang at pharm.uoa.gr>
>
> tevang3 at gmail.com <mailto:tevang3 at gmail.com>
>
>
> website: https://sites.google.com/site/thomasevangelidishomepage/
>
>
>
>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20180215/0389f7a7/attachment.html>
More information about the scikit-learn
mailing list