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: tev...@pharm.uoa.gr <mailto:tev...@pharm.uoa.gr>

teva...@gmail.com <mailto: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

_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to