How to perform Multi Target Regression (MTR) on Data iku?

AayushShah
Level 1
How to perform Multi Target Regression (MTR) on Data iku?

Hello, I am new to this platform, I have a use-case where I want to predict multiple targets from the given set of features. 

My use case has some features (X1...Xn) and 2 targets. (Y1, Y2).

Suppose: AgeBMIGenderHeight, and Weight are in my dataset. From which I want to predict Height and Weight (as targets) from the features Age, BMI and Gender. 

I want to run a regression model that should predict all 2 targets by simply providing the features. So, I am looking for a way to do that on this platform. Will anyone please help?

NOTE: There can be some relation between targets as well, thus creating separate models for every 2 targets might not result in the best model. Your guidance will help the most.

Clearly, this is the Multiple Target Regression problem (MTR). If possible will you please guide me through the process?

Thank you,

Aayush Shah


Operating system used: Windows

0 Kudos
3 Replies
MiguelangelC
Dataiker

Hi,

It is not possible to build a multi output model natively using a visual analysis. You will have to code a custom model in order to do that.

There is some information in the help about how to create custom models: https://doc.dataiku.com/dss/latest/machine-learning/algorithms/in-memory-python.html#custom-models

There is also a course in the academy on the steps to create them:https://academy.dataiku.com/custom-ml-models

After digging around a bit, this may be the way to get it done : https://scikit-learn.org/stable/modules/generated/sklearn.multioutput.MultiOutputRegressor.html

 

 

AayushShah
Level 1
Author

Hei,
Thanks for the guidance. I have tried these sklearn's methods of RegressionChain and MultiOutputRegressor. But still, they don't satisfy my requirement. The RegressionChain performs some inter-target relation at some extent but still not fully โ€” thus, that didn't help me.

I was looking for native support for it on this platform. As you mentioned it is not possible as of now. I think I got my answer.

Best,

Aayush Shah

0 Kudos
natlet
Level 2

I tried a custom model with a Target that is a vector represented as a list element in pandas dataframe. This failed at a step where a Target is chosen for the Custom Model with the error 

"An invalid argument has been encountered : Target column contains non-numerical values, incompatible with regression models".

How should I specify my Target? What datatype should I use for vector as a target?

Thanks

0 Kudos