How to handle missing continuous attribute values in ID3 (Iterative Dichotomiser 3)? I'm implementing the ID3 algorithm (Iterative Dichotomiser 3). I have an attribute which happens to be continuous like 12.21, 3.01, etc. AND have missing values which are marked as "NA".

How I'm discretizing the data: I'm finding the optimal split which results in the max information gain. How I'm dealing with missing values: I will use the most probable attribute value to replace the "?".

Of course I can do either process in both ways, and this is where my confusion arises. Is there a correct way in handling this?
Take a look at the C4.5 algorithm.  C4.5 is a successor to ID3.  It is more complex.  However, Wikipedia lists as one of its advantages over ID3 that C4.5 can handle data with missing attribute values.  So, you might take a look at how C4.5 handles missing attribute values -- or even simply use C4.5 rather than ID3.