多値判別

最後に多値判別を行う。これにはおなじみのirisを使う。
irisは4つのパラメータに3種類の種別がついている。

iris.glmnet <- glmnet(as.matrix(iris[, -5]), iris[, 5], family="multinomial")
par(mfrow=c(1, 3))
plot(iris.glmnet)


同じく予測する。

iris.cv.glmnet <- cv.glmnet(as.matrix(iris[, -5]), iris[, 5], family="multinomial")
table(iris[, 5], predict(iris.glmnet, as.matrix(iris[, -5]), s=iris.cv.glmnet$lambda.min, type="class"))
             setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         48         2
  virginica       0          1        49