---
title: "Arboles_SCM"
author: "Ricardo R. Palma"
date: "`r Sys.Date()`"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```


library(car)
#> Loading required package: carData
library(readr)

```{r}
library(readr)
partners <- read_delim("https://themys.sid.uncu.edu.ar/rpalma/R-cran/SCM_Perform/scm_perform.csv", 
    delim = ";", escape_double = FALSE, col_types = cols(Performance = col_factor(levels = c("good", 
        "fair", "poor"))), locale = locale(decimal_mark = ",", 
        grouping_mark = "."), trim_ws = TRUE)

```


```{r}
summary(partners)
```





## Matriz de covarianza

```{r}
library(scatterPlotMatrix)
scatterPlotMatrix(partners)
```


# Entrenamiento de árbol de decisión

Esta técnica utiliza un set de datos representativos de una situaci'on y utilizando recursivamente el teoréma de Bayes puede armar un pronosticador o clasificador de datos. Es una t'ecnica parecida a la de clustering, pero m'as refinada, pues no se basa en reglas sino en parendizaje del set de datos usado como entrenamento. En el paquete party existen dos funciones ctree que se utiliza para entrenar y predict que se usa para pronosticar o generar la regla de decici'on que debemos usar.


```{r}
library(party)

attach(partners)
str(partners)    

ind <- sample(2, nrow(partners), replace=TRUE, prob=c(0.7, 0.3))  
# toma una muestra  
ind  

# nos imprime la muestra tomada.
```



## Entrenamiento con primer muestra

```{r}
trainData <- partners [ind==1,]    
# genero un set de entrenamiento 
testData <- partners [ind==2,]    
# genero un set de datos de prueba
myFormula <- Performance ~ Inventory.Turnover + Lead.Time + `Trnasport.Km/Ton` + Perfect.Order 
transit_ctree <- ctree(myFormula, data=trainData)    
# creo el motor de entrenamiento
# Verificar las prediciones 
table(predict(transit_ctree), trainData$Performance) 

print(transit_ctree) 

```


Muestra el arbol entrenado vs el resto de la muestra


Prediccion con el dataset de prueba

```{r}
table(predict(transit_ctree), trainData$Performance)
```



Impresión del arbol de decision

```{r}
plot(transit_ctree, las=2)
```


