Как мне сделать дерево регрессии таким образом?

Я хотел бы сделать дерево регрессии, подобное изображенному на картинке. Дерево было сделано на кубистическом, но у меня нет этой программы. Я использую R и Python. Кажется, он отличается от R-пакетов rpart или дерева тем, что конечные узлы являются линейными формулами, а не просто средним значением. Есть ли способ сделать это, используя R или другое бесплатное программное обеспечение?

На рисунке NDVI, B1, B2 и т. Д. Являются переменными. Изображение изэтот сайт.

Ответы на вопрос(2)

Решение Вопроса

Cubist R-порт кубического GPL-кода C, выпущенного RuleQuest по адресуhttp://rulequest.com/cubist-info.html.

Используя пример изhelp('cubist') и оригиналобъявление пакета

library(Cubist)
library(mlbench)
data(BostonHousing)

## 1 committee, so just an M5 fit:
mod1 <- cubist(x = BostonHousing[, -14], y = BostonHousing$medv)
summary(mod1)

# Call:
#   cubist.default(x = BostonHousing[, -14], y = BostonHousing$medv)
# 
# 
# Cubist [Release 2.07 GPL Edition]  Thu Jul 04 11:56:33 2013
# ---------------------------------
#   
#   Target attribute `outcome'
# 
# Read 506 cases (14 attributes) from undefined.data
# 
# Model:
# 
# Rule 1: [101 cases, mean 13.84, range 5 to 27.5, est err 1.98]
# 
# if
# nox > 0.668
# then
# outcome = -1.11 + 2.93 dis + 21.4 nox - 0.33 lstat + 0.008 b
# - 0.13 ptratio - 0.02 crim - 0.003 age + 0.1 rm
# 
# Rule 2: [203 cases, mean 19.42, range 7 to 31, est err 2.10]
# 
# if
# nox <= 0.668
# lstat > 9.59
# then
# outcome = 23.57 + 3.1 rm - 0.81 dis - 0.71 ptratio - 0.048 age
# - 0.15 lstat + 0.01 b - 0.0041 tax - 5.2 nox + 0.05 crim
# + 0.02 rad
# 
# Rule 3: [43 cases, mean 24.00, range 11.9 to 50, est err 2.56]
# 
# if
# rm <= 6.226
# lstat <= 9.59
# then
# outcome = 1.18 + 3.83 crim + 4.3 rm - 0.06 age - 0.11 lstat - 0.003 tax
# - 0.09 dis - 0.08 ptratio
# 
# Rule 4: [163 cases, mean 31.46, range 16.5 to 50, est err 2.78]
# 
# if
# rm > 6.226
# lstat <= 9.59
# then
# outcome = -4.71 + 2.22 crim + 9.2 rm - 0.83 lstat - 0.0182 tax
# - 0.72 ptratio - 0.71 dis - 0.04 age + 0.03 rad - 1.7 nox
# + 0.008 zn
# 
# 
# Evaluation on training data (506 cases):
# 
# Average  |error|               2.10
# Relative |error|               0.32
# Correlation coefficient        0.94
# 
# 
# Attribute usage:
# Conds  Model
# 
# 80%   100%    lstat
# 60%    92%    nox
# 40%   100%    rm
# 100%    crim
# 100%    age
# 100%    dis
# 100%    ptratio
# 80%    tax
# 72%    rad
# 60%    b
# 32%    zn
# 
# 
# Time: 0.0 secs
 posixKing03 мая 2017 г., 09:39
Как я могу создать визуальное дерево на основе тех правил, которые выводит Cubist? Есть ли программа, которая может это сделать, или мне нужно вручную, используя такую программу, как рисование или какой-нибудь онлайн-редактор графиков? Спасибо
 London guy09 нояб. 2014 г., 09:57
Так в чем же разница между кубистическим методом и алгоритмом M5? Я думал, что фактическая диаграмма, вставленная в вопрос выше, является просто алгоритмом M5 (дерево регрессионной модели)
 John04 июл. 2013 г., 06:14
Вау, это отличные новости! Примеры «результата» выглядят точно так же, как я хочу. Я не могу дождаться, чтобы погрузиться в это. Спасибо!

Вот.

Из этого обзора первая часть «алгоритма согласуется с подходом« M5 »или Tree Model».

В частности, различия в том, что:

«Кубист обобщает эту модель, добавляя повышающие (когда комитеты> 1) и исправления на основе экземпляров»

Ваш ответ на вопрос