darr | R Documentation |

DA-RR or DA-KRR

1- The class membership `y`

(unidimensional variable) for the reference (= training) observations is firstly transformed (with function `dummy`

) to a table `Ydummy`

containing a number of `nclas`

dummy variables, where `nclas`

is the number of classes in `y`

.

2- Then, a linear ridge regression (RR) or a kernel ridge regression (KRR = LS-SVM) model is fitted between the `X`

-data and each of the dummy variables (i.e. each column of the dummy table `Ydummy`

).

3- For a given new observation, the final prediction (a class) corresponds to the dummy variable for which the prediction is the highest.

When the number of classes is higher than two, this method can be affected by a masking effect (see eg. Hastie et al. 2009, section 4.2): some class(es) can be masked (therefore not well predicted) if more than two classes are aligned in the `X`

-space. Caution should therefore be taken about such eventual masking effects.

Row observations can eventually be weighted with a priori weights (using argument `weights`

).

**Note:** An alternative to `dakrr`

is to run a "direct" kernel approach (e.g. Bennett & Embrechts 2003), i.e. to build preliminary kernel Gram matrices (such as doing a pre-processing on `X`

), and then to run a DA-RR on them. See examples in function `kgram`

.

See also the tuning facility with `splitpar`

.

```
darr(Xr, Yr, Xu, Yu = NULL, lambda = 0, unit = 1,
weights = NULL)
dakrr(Xr, Yr, Xu, Yu = NULL, lambda = 0, unit = 1,
kern = kpol, weights = NULL, print = TRUE, ...)
```

`Xr` |
A |

`Yr` |
A vector of length |

`Xu` |
A |

`Yu` |
A vector of length |

`lambda` |
A value, or vector of values, of the regularization parameter |

`unit` |
A scalar. Unit used for lambda (Default to |

`kern` |
For |

`weights` |
A vector of length |

`print` |
For |

`...` |
For |

A list of outputs, such as:

`y` |
Responses for the test data. |

`fit` |
Predictions for the test data. |

`r` |
Residuals for the test data. |

```
data(datforages)
Xr <- datforages$Xr
yr <- datforages$yr
Xu <- datforages$Xu
yu <- datforages$yu
lambda <- 10^(-15:5) ; unit <- 1
fm <- darr(Xr, yr, Xu, yu, lambda = lambda)
z <- err(fm, ~ lambda + unit)
z[z$errp == min(z$errp), ][1, ]
z$log.lambda <- log(z$lambda, base = 10)
plotmse(z, namx = "log.lambda", nam = "errp")
lambda <- 10^(-15:5) ; unit <- 1
fm <- dakrr(Xr, yr, Xu, yu, lambda = lambda, degree = 1:5)
z <- err(fm, ~ lambda + unit + degree)
z[z$errp == min(z$errp), ][1, ]
z$log.lambda <- log(z$lambda, base = 10)
group <- paste("degree=", z$degree, sep = "")
plotmse(z, namx = "log.lambda", nam = "errp", group = group)
lambda <- 10^(-15:5) ; unit <- 1
fm <- dakrr(Xr, yr, Xu, yu, lambda = lambda, kern = krbf, sigma = 10^(-3:3))
z <- err(fm, ~ lambda + unit + sigma)
z[z$errp == min(z$errp), ][1, ]
z$log.lambda <- log(z$lambda, base = 10)
group <- paste("sigma=", z$sigma, sep = "")
plotmse(z, namx = "log.lambda", nam = "errp", group = group)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.