How are NaN Values handled by Matlab Decision Tree / Ensemble Learner
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dario Walter
am 31 Jul. 2020
Kommentiert: Dario Walter
am 12 Aug. 2020
Hey,
I could not find a satisfying answer with respect to the topic provided in the title. Does Matlab exclude entire observations when a NaN value is detected for a certain feature or does it refer to NaN values with an own category (the latter would be desirable)?
Thanks for your help
0 Kommentare
Akzeptierte Antwort
Raunak Gupta
am 7 Aug. 2020
Hi,
I assume you are using fitctree for working on Decision Trees. From here you may see that whenever a NaN value is encountered for any feature in an observation it is discarded while fitting the decision tree. Same goes for that observation's label. As for the second option it is very hard to assume or calculate any missing NaN value because the feature may follow a general rule or may be an outlier for a particular observation, so it’s better to discard rather than assume the value.
Hope this clarifies!
3 Kommentare
Raunak Gupta
am 12 Aug. 2020
Hi Dario,
Thanks for correcting me. So, the fitctree discards only those observations where all the features has NaN values. If the observation has some valid values it will try to find the split around those features first.
So lets say if there are 3 features for all the observation and only feature 1 has valid values for all the observations then fitctree will try to find a split based on feature 1.
"fitctree considers NaN values in X as missing values. fitctree does not use observations with all missing values for X in the fit. fitctree uses observations with some missing values for X to find splits on variables for which these observations have valid values."
Hope this clarify! :)
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!