Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Predecir las respuestas fuera de muestra de los subárboles

En este ejemplo se muestra cómo predecir las respuestas fuera de muestra de los árboles de regresión y, a continuación, trazar los resultados.

Cargue el conjunto de datos.carsmall Considere como un predictor de la respuesta.WeightMPG

load carsmall idxNaN = isnan(MPG + Weight); X = Weight(~idxNaN); Y = MPG(~idxNaN); n = numel(X);

Dividir los datos en formación (50%) y validación (50%) Establece.

rng(1) % For reproducibility idxTrn = false(n,1); idxTrn(randsample(n,round(0.5*n))) = true; % Training set logical indices idxVal = idxTrn == false;                  % Validation set logical indices

Cultivar un árbol de regresión usando las observaciones de entrenamiento.

Mdl = fitrtree(X(idxTrn),Y(idxTrn)); view(Mdl,'Mode','graph')

Calcular los valores ajustados de las observaciones de validación para cada uno de varios subárboles.

m = max(Mdl.PruneList); pruneLevels = 0:2:m; % Pruning levels to consider z = numel(pruneLevels); Yfit = predict(Mdl,X(idxVal),'SubTrees',pruneLevels);

es una matriz de valores ajustados en el que las filas corresponden a observaciones y las columnas corresponden a un subárbol.Yfitnz

Trama y contra.YfitYX

figure; sortDat = sortrows([X(idxVal) Y(idxVal) Yfit],1); % Sort all data with respect to X plot(sortDat(:,1),sortDat(:,2),'*'); hold on; plot(repmat(sortDat(:,1),1,size(Yfit,2)),sortDat(:,3:end)); lev = cellstr(num2str((pruneLevels)','Level %d MPG')); legend(['Observed MPG'; lev]) title 'Out-of-Sample Predictions' xlabel 'Weight (lbs)'; ylabel 'MPG'; h = findobj(gcf); axis tight; set(h(4:end),'LineWidth',3) % Widen all lines

Los valores de los niveles de poda más bajos tienden a seguir los datos más estrechamente que los niveles más altos.Yfit Los niveles de poda más altos tienden a ser planos para grandes intervalos.X

Consulte también

|

Temas relacionados