/// <summary> Creates a C4.5-type split on the given data. Assumes that none of /// the class values is missing. /// /// </summary> /// <exception cref="Exception">if something goes wrong /// </exception> public override void buildClassifier(Instances trainInstances) { // Initialize the remaining instance variables. m_numSubsets = 0; //UPGRADE_TODO: The equivalent in .NET for field 'java.lang.Double.MAX_VALUE' may return a different value. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1043'" m_splitPoint = System.Double.MaxValue; m_infoGain = 0; m_gainRatio = 0; // Different treatment for enumerated and numeric // attributes. if (trainInstances.attribute(m_attIndex).Nominal) { m_complexityIndex = trainInstances.attribute(m_attIndex).numValues(); m_index = m_complexityIndex; handleEnumeratedAttribute(trainInstances); } else { m_complexityIndex = 2; m_index = 0; trainInstances.sort(trainInstances.attribute(m_attIndex)); handleNumericAttribute(trainInstances); } }