В последнее время я сам искал те же ответы о RepTree Weka и наткнулся на этот пост, я не смог найти достаточно ответов в Интернете, поэтому я открыл исходный код и погрузился в него.
"Сортирует значения для числовых атрибутов только один раз." означает, что алгоритм сортирует все числовые поля в наборе данных один раз в начале выполнения, а затем использует отсортированные списки для вычисления правильных разбиений в каждом узле дерева.
Из чтения исходного кода я смог понять, как работает алгоритм:
1) Для классификации нечисловых (дискретных) используется обычное дерево решений с сокращением числа ошибок [http://www.stat.cmu.edu/~ryantibs/datamining/lectures/23-tree.pdf] максимизирует значения энтропии, вы можете увидеть точную реализацию метода в исходном коде в weka.core.ContingencyTables - entropyConditionedOnRows(double[][] matrix)
2) Для классификации числовых значений изменение заключается в том, что она сводит к минимуму общую дисперсию.
Кроме того, для меня было очень запутанным вычисление выходного дерева, в частности, в числовой классификации, что означает этот выходной лист:
years_since >= 9,03 : 4,64 (8/0,68) [8/6,76]
1) В нечисловой (дискретной) классификации первое число после ':' - это классификационное значение дерева, первое число в скобках () - это количество правильно классифицированных экземпляров из обучения набор под этим листом, второе число — это количество экземпляров, которые были под листом, но имели другое значение классификации, в то время как в скобках [] первое число — это количество правильных классификаций из набора обрезки, а второе число — это количество экземпляров, которые были под листом, но имели другое значение классификации. неправильные классификации. [http://weka.8497.n7.nabble.com/about-REPtree-td15188.html]
2) В числовой классификации этот вывод означает что-то другое. Первое число после ':' - это среднее значение (x_mean) выборок из обучающего набора, которые принадлежат этому листу, первое число в скобках () - это вес -k- значений, которые принадлежат этому листу ( вес означает количество выборок из того, что я понял из кода), а второе значение — это дисперсия выборки, что означает sum_i_from_1_to_k((x_i-x_mean)^2)/k. В скобках [] первое — это количество выборок из набора отсечения -L-, которые принадлежат этому листу, а второе число — это дисперсия относительно x_mean из обучающего набора, что означает sum_i_from_1_to_L((y_i-x_mean)^2 )/л
Надеюсь это поможет
person
PeterN
schedule
02.12.2014