U2A1

Cristina Gpe. Arguelles Lema

18/4/2021

Clasificación lineal, cuadrática y de vecinos más próximos

Datos

Los datos del archivo Wisconsin18.RData proceden de un estudio sobre diagnóstico del cáncer de mama por imagen. Mediante una punción con aguja fina se extrae una muestra del tejido sospechoso de la paciente. La muestra se tiñe para resaltar los núcleos de las células y se determinan los límites exactos de los núcleos. Las variables consideradas corresponden a los valores medios de distintos aspectos de la forma de los núcleos de cada muestra.

Células

Tinción de los núcelos celulares

El fichero contiene un data.frame, llamado Wisconsin cuyas variables son:

  • Las 10 variables explicativas medidas en pacientes cuyos tumores fueron diagnosticados posteriormente.

  • La variable tipo que contiene el tipo de tumor (benigno o maligno).

Los datos son de acceso libre y fueron obtenidos de la universidad UCI (http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29 ), y son llamados “Wisconsin”, los datos consisten en:

Attribute Information:

  1. ID number
  2. Diagnosis (M = malignant, B = benign) 3-32)

Ten real-valued features are computed for each cell nucleus:

  1. radius (mean of distances from center to points on the perimeter)
  2. texture (standard deviation of gray-scale values)
  3. perimeter
  4. area
  5. smoothness (local variation in radius lengths)
  6. compactness (perimeter^2 / area - 1.0)
  7. concavity (severity of concave portions of the contour)
  8. concave points (number of concave portions of the contour)
  9. symmetry
  10. fractal dimension (“coastline approximation” - 1)

Importar datos

setwd("~/Estadistica/U2A1")
library(pacman)
p_load("MASS", "class")
load(url("http://verso.mat.uam.es/~joser.berrendero/datos/Wisconsin18.RData"))
head(Wisconsin)
##   radius texture perimeter  area smoothness compactness concavity concavepoints
## 1 13.540   14.36     87.46 566.3    0.09779     0.08129   0.06664      0.047810
## 2 13.080   15.71     85.63 520.0    0.10750     0.12700   0.04568      0.031100
## 3  9.504   12.44     60.34 273.9    0.10240     0.06492   0.02956      0.020760
## 4 13.030   18.42     82.61 523.8    0.08983     0.03766   0.02562      0.029230
## 5  8.196   16.84     51.71 201.9    0.08600     0.05943   0.01588      0.005917
## 6 12.050   14.63     78.04 449.3    0.10310     0.09092   0.06592      0.027490
##   symmetry fractal    tipo
## 1   0.1885 0.05766 benigno
## 2   0.1967 0.06811 benigno
## 3   0.1815 0.06905 benigno
## 4   0.1467 0.05863 benigno
## 5   0.1769 0.06503 benigno
## 6   0.1675 0.06043 benigno

¿Cuántos diagnósticos benignos y malignos tenemos?

table(Wisconsin$tipo)
## 
## benigno maligno 
##     357     212

Ahora, la forma en que se relacionan las variables por medio de una matriz de diagramas de dispersión

pairs(Wisconsin[,-11], col=Wisconsin$tipo)

Diagrama de estrellas

stars(Wisconsin[-11], col.stars=Wisconsin$tipo, labels=NULL)

Se dispone en total de 569 imágenes, de las cuáles 357 corresponden a tumores benignos y 212 a malignos. Vemos que algunas variables están estrechamente relacionadas (por ejemplo, el radio, el perímetro y el área). También se observa que en términos generales, los tumores malignos corresponden a valores más altos de las variables.

Regla de clasificación lineal de Fisher

El comando básico es lda del paquete MASS. Tiene tres argumentos principales:

  • la expresión que determina la variable que queremos predecir (el tipo de tumor) y qué variables vamos a utilizar,

  • el data frame que contiene los datos,

  • el vector de probabilidades a priori de cada clase (por defecto, son las frecuencias relativas del vector que contiene las clases). Nosotros vamos a fijar probabilidades a priori iguales.

resultado.lda <-lda(tipo ~ ., data=Wisconsin, prior = c(0.5,0.5) )

El objeto resultado.lda es una lista con todos los resultados del análisis. Veamos sus elementos más importantes. El vector resultado.lda$means contiene los vectores de medias x¯0 y x¯1 correspondientes a cada grupo:

resultado.lda$means
##           radius  texture perimeter     area smoothness compactness  concavity
## benigno 12.14652 17.91476  78.07541 462.7902 0.09247765  0.08008462 0.04605762
## maligno 17.46283 21.60491 115.36538 978.3764 0.10289849  0.14518778 0.16077472
##         concavepoints symmetry    fractal
## benigno    0.02571741 0.174186 0.06286739
## maligno    0.08799000 0.192909 0.06268009

Como habíamos observado en las representaciones gráficas, los valores medios del grupo de tumores malignos son superiores a los del grupo de benignos. El vector resultado.lda$scaling contiene los coeficientes de la función discriminante lineal de Fisher:

resultado.lda$scaling
##                        LD1
## radius         2.173832578
## texture        0.097479319
## perimeter     -0.243883158
## area          -0.004235635
## smoothness     8.610211091
## compactness    0.431476344
## concavity      3.592356858
## concavepoints 28.529778564
## symmetry       4.489073661
## fractal       -0.529214778

teoría: Análisis Discriminante Lineal (ADL, o LDA por sus siglas en inglés) es una generalización del discriminante lineal de Fisher, un método utilizado en estadística, reconocimiento de patrones y aprendizaje de máquinas para encontrar una combinación lineal de rasgos que caracterizan o separan dos o más clases de objetos o eventos. La combinación resultante puede ser utilizada como un clasificador lineal, o, más comúnmente, para la reducción de dimensiones antes de la posterior clasificación.

Representando los datos de escalamiento de forma gráfica

barplot(as.vector(resultado.lda$scaling), names.arg = names(Wisconsin[-11]))

Si llamamos w al vector anterior, clasificamos una observación x en el grupo 1 siempre que

\[ w^\top \left(x-\frac{\bar{x}_0 + \bar{x}_1}{2}\right) > 0, \]

y en el grupo 0 en caso contrario. El valor del término de la izquierda de la desigualdad es la puntuación discriminante de x. Al aplicar plot a resultado.lda obtenemos histogramas de las puntuaciones discriminantes estandarizadas de las observaciones de cada grupo:

plot(resultado.lda)

Vemos que, efectivamente, las puntuaciones en el grupo 0 tienden a ser negativas y en el grupo 1 tienden a ser positivas. Sin embargo, hay una zona de solapamiento de las puntuaciones discriminantes que llevará a un cierto porcentaje de errores de clasificación. Con el fin de calcular la tasa de error aparente, usamos el comando predict para clasificar los datos de la muestra y luego contamos la proporción de veces que nos hemos equivocado:

n <- resultado.lda$N
tipo.prediccion <- predict(resultado.lda)$class
1 - sum(tipo.prediccion == Wisconsin$tipo)/n
## [1] 0.05975395

Esto significa que nos hemos equivocado para aproximadamente un 5.97 % de las observaciones. Para calcular la tasa de error por validación cruzada, seleccionamos CV=TRUE en el comando lda, de la siguiente forma:

tipo.prediccion.cv <-lda(tipo ~ ., data=Wisconsin, prior = c(0.5,0.5), CV =TRUE )$class
1 - sum(tipo.prediccion.cv == Wisconsin$tipo)/n
## [1] 0.06326889

Si queremos clasificar nuevos vectores de observaciones, tenemos que crear previamente un data frame que los contenga y luego usar de nuevo el comando predict. El siguiente código genera aleatoriamente dos vectores de observaciones y los clasifica. También permite obtener las dos puntuaciones discriminantes correspondientes:

x1 <- rnorm(10)
x2 <- rnorm(10)
nuevas.obs <- data.frame(rbind(x1,x2))
names(nuevas.obs)<- names(Wisconsin[1:10])
nuevas.obs
##        radius    texture  perimeter      area smoothness compactness  concavity
## x1 -0.7282206  0.5813963 0.09863626 -2.473647 0.02848838   0.6451602 -0.5663992
## x2 -0.6640297 -0.2012625 0.08946209 -0.330289 2.04480820   0.4261341  0.6544659
##    concavepoints    symmetry    fractal
## x1    -0.1223426 -0.04427663 -0.1028173
## x2    -0.6574494 -0.67529871 -0.5608018
  • Resultado de la clasificación
predict(resultado.lda,nuevas.obs)$class
## [1] benigno benigno
## Levels: benigno maligno
  • Puntuaciones discriminantes
predict(resultado.lda,nuevas.obs)$x
##          LD1
## x1 -17.82818
## x2 -13.97637

Ejercicio

  1. Repite los cálculos utilizando únicamente las variables smoothness y concavepoints.

Datos

smoothness <- Wisconsin$smoothness
concavepoints <- Wisconsin$concavepoints
tipo <- Wisconsin$tipo

wisconsin.nuevo <- data.frame(smoothness, concavepoints, tipo)
wisconsin.nuevo
##     smoothness concavepoints    tipo
## 1      0.09779      0.047810 benigno
## 2      0.10750      0.031100 benigno
## 3      0.10240      0.020760 benigno
## 4      0.08983      0.029230 benigno
## 5      0.08600      0.005917 benigno
## 6      0.10310      0.027490 benigno
## 7      0.08752      0.033840 benigno
## 8      0.08637      0.011150 benigno
## 9      0.07685      0.017230 benigno
## 10     0.08261      0.013490 benigno
## 11     0.09524      0.022780 benigno
## 12     0.08060      0.004167 benigno
## 13     0.09752      0.007799 benigno
## 14     0.11340      0.012900 benigno
## 15     0.12430      0.009259 benigno
## 16     0.07721      0.021800 benigno
## 17     0.10440      0.015040 benigno
## 18     0.08139      0.022300 benigno
## 19     0.10660      0.043750 benigno
## 20     0.09831      0.028640 benigno
## 21     0.09783      0.028720 benigno
## 22     0.09172      0.022720 benigno
## 23     0.12910      0.065560 benigno
## 24     0.09934      0.023150 benigno
## 25     0.11020      0.022330 benigno
## 26     0.10780      0.069870 benigno
## 27     0.09723      0.018630 benigno
## 28     0.08772      0.037450 benigno
## 29     0.11320      0.070640 benigno
## 30     0.08974      0.029570 benigno
## 31     0.07355      0.026480 benigno
## 32     0.10220      0.027800 benigno
## 33     0.10450      0.029410 benigno
## 34     0.10240      0.007937 benigno
## 35     0.08983      0.033500 benigno
## 36     0.11700      0.000000 benigno
## 37     0.08013      0.017700 benigno
## 38     0.10050      0.030290 benigno
## 39     0.09989      0.012010 benigno
## 40     0.11420      0.034850 benigno
## 41     0.08477      0.019210 benigno
## 42     0.08759      0.018990 benigno
## 43     0.10370      0.017780 benigno
## 44     0.09933      0.060210 benigno
## 45     0.07837      0.077980 benigno
## 46     0.11220      0.030680 benigno
## 47     0.11500      0.019240 benigno
## 48     0.09768      0.020080 benigno
## 49     0.09462      0.023080 benigno
## 50     0.09373      0.026230 benigno
## 51     0.11010      0.057780 benigno
## 52     0.07115      0.028000 benigno
## 53     0.08785      0.011410 benigno
## 54     0.11500      0.085340 benigno
## 55     0.10660      0.028820 benigno
## 56     0.09462      0.059330 benigno
## 57     0.10510      0.026000 benigno
## 58     0.09639      0.028750 benigno
## 59     0.11640      0.047960 benigno
## 60     0.09250      0.000000 benigno
## 61     0.10920      0.018610 benigno
## 62     0.08677      0.030880 benigno
## 63     0.07793      0.007875 benigno
## 64     0.11520      0.030030 benigno
## 65     0.08138      0.035620 benigno
## 66     0.09970      0.055320 benigno
## 67     0.07944      0.013290 benigno
## 68     0.11350      0.026450 benigno
## 69     0.09405      0.021680 benigno
## 70     0.10720      0.078570 benigno
## 71     0.09754      0.017860 benigno
## 72     0.09384      0.034830 benigno
## 73     0.08654      0.023310 benigno
## 74     0.07445      0.027710 benigno
## 75     0.09311      0.019630 benigno
## 76     0.07515      0.006588 benigno
## 77     0.10890      0.037380 benigno
## 78     0.10120      0.028220 benigno
## 79     0.08421      0.019390 benigno
## 80     0.09594      0.016980 benigno
## 81     0.09855      0.037810 benigno
## 82     0.10280      0.037000 benigno
## 83     0.10060      0.025830 benigno
## 84     0.08792      0.000000 benigno
## 85     0.09138      0.000000 benigno
## 86     0.09699      0.037160 benigno
## 87     0.06251      0.001852 benigno
## 88     0.08739      0.013300 benigno
## 89     0.09059      0.023610 benigno
## 90     0.09267      0.002404 benigno
## 91     0.09774      0.032390 benigno
## 92     0.10070      0.015530 benigno
## 93     0.08080      0.016540 benigno
## 94     0.08749      0.028640 benigno
## 95     0.06950      0.000000 benigno
## 96     0.07941      0.023770 benigno
## 97     0.09586      0.041070 benigno
## 98     0.09965      0.038210 benigno
## 99     0.10890      0.019520 benigno
## 100    0.10020      0.051020 benigno
## 101    0.08182      0.031570 benigno
## 102    0.08871      0.013930 benigno
## 103    0.09363      0.031420 benigno
## 104    0.08054      0.010710 benigno
## 105    0.09646      0.025630 benigno
## 106    0.10510      0.044510 benigno
## 107    0.10610      0.019150 benigno
## 108    0.08445      0.024560 benigno
## 109    0.09906      0.046030 benigno
## 110    0.10530      0.012160 benigno
## 111    0.08371      0.037800 benigno
## 112    0.07903      0.020360 benigno
## 113    0.06883      0.003125 benigno
## 114    0.07780      0.006434 benigno
## 115    0.08464      0.016670 benigno
## 116    0.09070      0.018960 benigno
## 117    0.08223      0.044080 benigno
## 118    0.09423      0.037310 benigno
## 119    0.07926      0.011080 benigno
## 120    0.09592      0.028540 benigno
## 121    0.08043      0.023440 benigno
## 122    0.10700      0.030700 benigno
## 123    0.07215      0.011050 benigno
## 124    0.08760      0.039800 benigno
## 125    0.09657      0.016150 benigno
## 126    0.10130      0.029290 benigno
## 127    0.09345      0.020690 benigno
## 128    0.09688      0.026420 benigno
## 129    0.07956      0.021420 benigno
## 130    0.09425      0.016150 benigno
## 131    0.10820      0.028670 benigno
## 132    0.06429      0.006250 benigno
## 133    0.09834      0.027550 benigno
## 134    0.09037      0.014070 benigno
## 135    0.12250      0.074040 benigno
## 136    0.09379      0.003333 benigno
## 137    0.07948      0.012380 benigno
## 138    0.09516      0.037110 benigno
## 139    0.07813      0.027630 benigno
## 140    0.07818      0.033900 benigno
## 141    0.08393      0.002924 benigno
## 142    0.08605      0.037910 benigno
## 143    0.06955      0.011710 benigno
## 144    0.08020      0.055880 benigno
## 145    0.08713      0.021730 benigno
## 146    0.08757      0.066020 benigno
## 147    0.08992      0.048190 benigno
## 148    0.10050      0.033700 benigno
## 149    0.08372      0.022800 benigno
## 150    0.09667      0.019240 benigno
## 151    0.09198      0.019170 benigno
## 152    0.08518      0.013690 benigno
## 153    0.06576      0.013740 benigno
## 154    0.10150      0.018750 benigno
## 155    0.08451      0.030990 benigno
## 156    0.10680      0.017800 benigno
## 157    0.08853      0.015020 benigno
## 158    0.07474      0.013130 benigno
## 159    0.08511      0.003261 benigno
## 160    0.07005      0.003472 benigno
## 161    0.07376      0.004419 benigno
## 162    0.08352      0.008829 benigno
## 163    0.08814      0.011480 benigno
## 164    0.07618      0.018770 benigno
## 165    0.08794      0.025480 benigno
## 166    0.08597      0.008907 benigno
## 167    0.10740      0.000000 benigno
## 168    0.08511      0.006423 benigno
## 169    0.07734      0.005051 benigno
## 170    0.09968      0.049080 benigno
## 171    0.07557      0.016990 benigno
## 172    0.10610      0.039650 benigno
## 173    0.11340      0.034000 benigno
## 174    0.08673      0.016920 benigno
## 175    0.10280      0.021070 benigno
## 176    0.09309      0.027330 benigno
## 177    0.07683      0.005592 benigno
## 178    0.09579      0.029500 benigno
## 179    0.10540      0.007583 benigno
## 180    0.08306      0.002941 benigno
## 181    0.08313      0.008535 benigno
## 182    0.09462      0.020980 benigno
## 183    0.10070      0.017750 benigno
## 184    0.09751      0.042230 benigno
## 185    0.08481      0.022920 benigno
## 186    0.10330      0.033410 benigno
## 187    0.11500      0.032500 benigno
## 188    0.09882      0.020370 benigno
## 189    0.08386      0.008488 benigno
## 190    0.08875      0.035280 benigno
## 191    0.09076      0.023220 benigno
## 192    0.11580      0.017870 benigno
## 193    0.07561      0.011620 benigno
## 194    0.07274      0.014710 benigno
## 195    0.08760      0.043910 benigno
## 196    0.10820      0.056030 benigno
## 197    0.08743      0.020880 benigno
## 198    0.08293      0.023810 benigno
## 199    0.10090      0.014060 benigno
## 200    0.07436      0.005449 benigno
## 201    0.08582      0.024240 benigno
## 202    0.09676      0.017810 benigno
## 203    0.09686      0.048350 benigno
## 204    0.07937      0.014730 benigno
## 205    0.09231      0.020270 benigno
## 206    0.07963      0.026570 benigno
## 207    0.08302      0.020310 benigno
## 208    0.09880      0.053970 benigno
## 209    0.09073      0.059410 benigno
## 210    0.07517      0.011170 benigno
## 211    0.08268      0.024710 benigno
## 212    0.12370      0.055500 benigno
## 213    0.07987      0.020740 benigno
## 214    0.06935      0.029780 benigno
## 215    0.10420      0.028800 benigno
## 216    0.08363      0.028640 benigno
## 217    0.08108      0.025340 benigno
## 218    0.07026      0.008507 benigno
## 219    0.08365      0.027570 benigno
## 220    0.09996      0.019680 benigno
## 221    0.10390      0.000000 benigno
## 222    0.10290      0.033260 benigno
## 223    0.08045      0.032510 benigno
## 224    0.10590      0.053810 benigno
## 225    0.08044      0.040830 benigno
## 226    0.07741      0.007246 benigno
## 227    0.09087      0.016380 benigno
## 228    0.08872      0.017960 benigno
## 229    0.07351      0.018830 benigno
## 230    0.09879      0.023900 benigno
## 231    0.08682      0.020540 benigno
## 232    0.10040      0.029320 benigno
## 233    0.09495      0.045280 benigno
## 234    0.07551      0.018670 benigno
## 235    0.08685      0.026530 benigno
## 236    0.08858      0.021000 benigno
## 237    0.10770      0.024800 benigno
## 238    0.07969      0.005128 benigno
## 239    0.08515      0.038760 benigno
## 240    0.09773      0.021790 benigno
## 241    0.10440      0.012570 benigno
## 242    0.08785      0.024020 benigno
## 243    0.10180      0.010760 benigno
## 244    0.08546      0.014280 benigno
## 245    0.10310      0.063000 benigno
## 246    0.10880      0.044970 benigno
## 247    0.09057      0.048120 benigno
## 248    0.10750      0.019670 benigno
## 249    0.08117      0.005159 benigno
## 250    0.09816      0.022180 benigno
## 251    0.08801      0.014040 benigno
## 252    0.08151      0.013700 benigno
## 253    0.07896      0.018350 benigno
## 254    0.10540      0.027990 benigno
## 255    0.08924      0.028770 benigno
## 256    0.09136      0.020900 benigno
## 257    0.08458      0.029440 benigno
## 258    0.08684      0.022930 benigno
## 259    0.07966      0.026520 benigno
## 260    0.08915      0.036130 benigno
## 261    0.08817      0.009937 benigno
## 262    0.08142      0.011110 benigno
## 263    0.10300      0.042740 benigno
## 264    0.09179      0.022600 benigno
## 265    0.08388      0.029250 benigno
## 266    0.06613      0.023860 benigno
## 267    0.08437      0.019450 benigno
## 268    0.10990      0.064950 benigno
## 269    0.08583      0.022720 benigno
## 270    0.09245      0.032640 benigno
## 271    0.09357      0.020170 benigno
## 272    0.08791      0.020680 benigno
## 273    0.08369      0.017620 benigno
## 274    0.07984      0.010430 benigno
## 275    0.06995      0.017370 benigno
## 276    0.08508      0.017770 benigno
## 277    0.07466      0.028700 benigno
## 278    0.08284      0.028330 benigno
## 279    0.08675      0.035100 benigno
## 280    0.08311      0.005769 benigno
## 281    0.11750      0.055640 benigno
## 282    0.08946      0.015140 benigno
## 283    0.08752      0.023770 benigno
## 284    0.08098      0.032210 benigno
## 285    0.07699      0.000000 benigno
## 286    0.10070      0.015710 benigno
## 287    0.09040      0.030780 benigno
## 288    0.08931      0.030580 benigno
## 289    0.06828      0.013390 benigno
## 290    0.10460      0.019690 benigno
## 291    0.09087      0.015270 benigno
## 292    0.07991      0.020700 benigno
## 293    0.10710      0.052660 benigno
## 294    0.09950      0.031600 benigno
## 295    0.10430      0.062110 benigno
## 296    0.09514      0.048460 benigno
## 297    0.08641      0.027910 benigno
## 298    0.11280      0.031320 benigno
## 299    0.08192      0.012610 benigno
## 300    0.07838      0.041780 benigno
## 301    0.07372      0.011490 benigno
## 302    0.07335      0.012560 benigno
## 303    0.09587      0.049510 benigno
## 304    0.10760      0.050740 benigno
## 305    0.08928      0.023690 benigno
## 306    0.09883      0.061420 benigno
## 307    0.11580      0.032790 benigno
## 308    0.16340      0.052520 benigno
## 309    0.12550      0.070380 benigno
## 310    0.10960      0.021660 benigno
## 311    0.11940      0.042680 benigno
## 312    0.09427      0.045630 benigno
## 313    0.08099      0.026390 benigno
## 314    0.08472      0.025410 benigno
## 315    0.09832      0.043490 benigno
## 316    0.10490      0.025940 benigno
## 317    0.12180      0.053030 benigno
## 318    0.11250      0.029950 benigno
## 319    0.13710      0.024210 benigno
## 320    0.08511      0.005664 benigno
## 321    0.09916      0.037830 benigno
## 322    0.09492      0.024160 benigno
## 323    0.10360      0.015100 benigno
## 324    0.10750      0.031520 benigno
## 325    0.09003      0.026470 benigno
## 326    0.12480      0.066150 benigno
## 327    0.11000      0.027980 benigno
## 328    0.10730      0.044400 benigno
## 329    0.10160      0.021570 benigno
## 330    0.09277      0.018800 benigno
## 331    0.09687      0.027880 benigno
## 332    0.12360      0.045310 benigno
## 333    0.08098      0.000000 benigno
## 334    0.08668      0.013640 benigno
## 335    0.09984      0.025940 benigno
## 336    0.08837      0.038900 benigno
## 337    0.08275      0.030270 benigno
## 338    0.08671      0.032750 benigno
## 339    0.09578      0.023690 benigno
## 340    0.09246      0.024430 benigno
## 341    0.09434      0.005495 benigno
## 342    0.08877      0.024380 benigno
## 343    0.08491      0.009615 benigno
## 344    0.08192      0.008160 benigno
## 345    0.07431      0.000000 benigno
## 346    0.09566      0.022570 benigno
## 347    0.08276      0.014990 benigno
## 348    0.09240      0.012820 benigno
## 349    0.08123      0.023430 benigno
## 350    0.09030      0.027380 benigno
## 351    0.10030      0.011160 benigno
## 352    0.08123      0.000000 benigno
## 353    0.08473      0.037360 benigno
## 354    0.09261      0.041050 benigno
## 355    0.09929      0.043040 benigno
## 356    0.07449      0.000000 benigno
## 357    0.05263      0.000000 benigno
## 358    0.11840      0.147100 maligno
## 359    0.08474      0.070170 maligno
## 360    0.10960      0.127900 maligno
## 361    0.14250      0.105200 maligno
## 362    0.10030      0.104300 maligno
## 363    0.12780      0.080890 maligno
## 364    0.09463      0.074000 maligno
## 365    0.11890      0.059850 maligno
## 366    0.12730      0.093530 maligno
## 367    0.11860      0.085430 maligno
## 368    0.08206      0.033230 maligno
## 369    0.09710      0.066060 maligno
## 370    0.09740      0.111800 maligno
## 371    0.08401      0.053640 maligno
## 372    0.11310      0.080250 maligno
## 373    0.11390      0.073640 maligno
## 374    0.09867      0.052590 maligno
## 375    0.11700      0.102800 maligno
## 376    0.09831      0.094980 maligno
## 377    0.10730      0.097560 maligno
## 378    0.09428      0.086320 maligno
## 379    0.11210      0.091700 maligno
## 380    0.11860      0.140100 maligno
## 381    0.10540      0.087830 maligno
## 382    0.09440      0.077310 maligno
## 383    0.10820      0.087510 maligno
## 384    0.09847      0.079530 maligno
## 385    0.10640      0.124400 maligno
## 386    0.11090      0.051820 maligno
## 387    0.11970      0.120300 maligno
## 388    0.09401      0.075930 maligno
## 389    0.10400      0.077520 maligno
## 390    0.09610      0.060180 maligno
## 391    0.09823      0.055980 maligno
## 392    0.09387      0.028990 maligno
## 393    0.10160      0.054390 maligno
## 394    0.08162      0.020310 maligno
## 395    0.12270      0.056690 maligno
## 396    0.09081      0.099610 maligno
## 397    0.10410      0.061580 maligno
## 398    0.09714      0.052520 maligno
## 399    0.10990      0.100900 maligno
## 400    0.11580      0.073400 maligno
## 401    0.11480      0.106000 maligno
## 402    0.09056      0.033340 maligno
## 403    0.10530      0.089940 maligno
## 404    0.11370      0.081230 maligno
## 405    0.10490      0.086530 maligno
## 406    0.11220      0.068730 maligno
## 407    0.11720      0.090290 maligno
## 408    0.09009      0.079510 maligno
## 409    0.10710      0.079440 maligno
## 410    0.10070      0.050690 maligno
## 411    0.09168      0.066380 maligno
## 412    0.10650      0.108000 maligno
## 413    0.12860      0.160400 maligno
## 414    0.10630      0.184500 maligno
## 415    0.12150      0.146900 maligno
## 416    0.09874      0.087950 maligno
## 417    0.09444      0.049380 maligno
## 418    0.09029      0.082710 maligno
## 419    0.09200      0.074830 maligno
## 420    0.10390      0.088150 maligno
## 421    0.09078      0.086830 maligno
## 422    0.09752      0.058390 maligno
## 423    0.09488      0.044890 maligno
## 424    0.13980      0.096010 maligno
## 425    0.13260      0.182300 maligno
## 426    0.11620      0.089230 maligno
## 427    0.11550      0.094790 maligno
## 428    0.08402      0.055960 maligno
## 429    0.10540      0.086650 maligno
## 430    0.14470      0.201200 maligno
## 431    0.09258      0.030850 maligno
## 432    0.08217      0.056270 maligno
## 433    0.10150      0.114900 maligno
## 434    0.10920      0.080870 maligno
## 435    0.10080      0.056130 maligno
## 436    0.09430      0.068470 maligno
## 437    0.09055      0.027040 maligno
## 438    0.11670      0.086240 maligno
## 439    0.09721      0.059430 maligno
## 440    0.10910      0.074150 maligno
## 441    0.11150      0.105400 maligno
## 442    0.08694      0.096670 maligno
## 443    0.11200      0.128600 maligno
## 444    0.08439      0.097020 maligno
## 445    0.08865      0.065760 maligno
## 446    0.10490      0.104300 maligno
## 447    0.09048      0.034380 maligno
## 448    0.12570      0.109700 maligno
## 449    0.09831      0.088660 maligno
## 450    0.10940      0.187800 maligno
## 451    0.11410      0.149600 maligno
## 452    0.09597      0.051890 maligno
## 453    0.09057      0.032630 maligno
## 454    0.08588      0.058140 maligno
## 455    0.10750      0.066180 maligno
## 456    0.10340      0.045620 maligno
## 457    0.10440      0.088780 maligno
## 458    0.12000      0.065260 maligno
## 459    0.07371      0.057780 maligno
## 460    0.08523      0.067720 maligno
## 461    0.09872      0.059800 maligno
## 462    0.08968      0.074880 maligno
## 463    0.11410      0.162000 maligno
## 464    0.13230      0.091760 maligno
## 465    0.08876      0.040790 maligno
## 466    0.08772      0.053900 maligno
## 467    0.09090      0.095610 maligno
## 468    0.11420      0.159500 maligno
## 469    0.10060      0.065970 maligno
## 470    0.09463      0.064620 maligno
## 471    0.10260      0.056020 maligno
## 472    0.09383      0.086910 maligno
## 473    0.08420      0.066370 maligno
## 474    0.10250      0.064620 maligno
## 475    0.10880      0.068610 maligno
## 476    0.11410      0.109000 maligno
## 477    0.09159      0.083400 maligno
## 478    0.09509      0.123700 maligno
## 479    0.08355      0.060220 maligno
## 480    0.09812      0.088110 maligno
## 481    0.10270      0.088860 maligno
## 482    0.10070      0.131000 maligno
## 483    0.10620      0.097400 maligno
## 484    0.10080      0.083530 maligno
## 485    0.10350      0.085910 maligno
## 486    0.10960      0.052460 maligno
## 487    0.09260      0.114400 maligno
## 488    0.13350      0.124200 maligno
## 489    0.11090      0.137700 maligno
## 490    0.10630      0.083990 maligno
## 491    0.10000      0.093330 maligno
## 492    0.08662      0.028370 maligno
## 493    0.08999      0.075070 maligno
## 494    0.07840      0.028470 maligno
## 495    0.09726      0.065270 maligno
## 496    0.09469      0.086460 maligno
## 497    0.09401      0.108800 maligno
## 498    0.08855      0.047440 maligno
## 499    0.08923      0.058430 maligno
## 500    0.10200      0.096640 maligno
## 501    0.10370      0.094640 maligno
## 502    0.10660      0.090520 maligno
## 503    0.09968      0.035150 maligno
## 504    0.11500      0.106200 maligno
## 505    0.10800      0.128000 maligno
## 506    0.09746      0.079500 maligno
## 507    0.08020      0.077260 maligno
## 508    0.11700      0.150400 maligno
## 509    0.11690      0.084880 maligno
## 510    0.11650      0.079810 maligno
## 511    0.09491      0.070410 maligno
## 512    0.11190      0.099340 maligno
## 513    0.09116      0.060900 maligno
## 514    0.10690      0.141000 maligno
## 515    0.09797      0.110300 maligno
## 516    0.12430      0.124200 maligno
## 517    0.11490      0.191300 maligno
## 518    0.10240      0.065530 maligno
## 519    0.09150      0.077850 maligno
## 520    0.09905      0.126500 maligno
## 521    0.09384      0.084650 maligno
## 522    0.10630      0.150100 maligno
## 523    0.09742      0.087730 maligno
## 524    0.10010      0.125500 maligno
## 525    0.09446      0.089410 maligno
## 526    0.12160      0.063670 maligno
## 527    0.08682      0.052710 maligno
## 528    0.10100      0.102100 maligno
## 529    0.11600      0.091130 maligno
## 530    0.11670      0.156200 maligno
## 531    0.12300      0.119800 maligno
## 532    0.10360      0.088240 maligno
## 533    0.08320      0.027390 maligno
## 534    0.11200      0.084810 maligno
## 535    0.09947      0.097110 maligno
## 536    0.11330      0.125900 maligno
## 537    0.10180      0.087440 maligno
## 538    0.10600      0.064630 maligno
## 539    0.08331      0.057360 maligno
## 540    0.08947      0.062540 maligno
## 541    0.09997      0.082930 maligno
## 542    0.09684      0.115500 maligno
## 543    0.10320      0.090630 maligno
## 544    0.09898      0.064310 maligno
## 545    0.10840      0.168900 maligno
## 546    0.09289      0.100200 maligno
## 547    0.10260      0.091940 maligno
## 548    0.10890      0.119400 maligno
## 549    0.07497      0.023070 maligno
## 550    0.10010      0.077620 maligno
## 551    0.10120      0.091830 maligno
## 552    0.10850      0.112100 maligno
## 553    0.11620      0.067590 maligno
## 554    0.09342      0.100300 maligno
## 555    0.11830      0.085200 maligno
## 556    0.11060      0.081720 maligno
## 557    0.09215      0.043350 maligno
## 558    0.10680      0.094510 maligno
## 559    0.10370      0.094310 maligno
## 560    0.10300      0.147100 maligno
## 561    0.09156      0.101500 maligno
## 562    0.10460      0.132200 maligno
## 563    0.10380      0.061390 maligno
## 564    0.10480      0.094290 maligno
## 565    0.10990      0.147400 maligno
## 566    0.11100      0.138900 maligno
## 567    0.09780      0.097910 maligno
## 568    0.08455      0.053020 maligno
## 569    0.11780      0.152000 maligno
lda.result <- lda(tipo ~ ., data=wisconsin.nuevo, prior = c(0.5,0.5))
lda.result$means
##         smoothness concavepoints
## benigno 0.09247765    0.02571741
## maligno 0.10289849    0.08799000
lda.result$scaling
##                     LD1
## smoothness    -15.01049
## concavepoints  44.01965

Gráficos

barplot(as.vector(lda.result$scaling), names.arg = names(wisconsin.nuevo[-3]))

plot(lda.result)

Tasa de error

n <- lda.result$N
prediccion.tipo <- predict(lda.result)$class
1 - sum(prediccion.tipo == wisconsin.nuevo$tipo)/n
## [1] 0.08787346
  • De acuerdo al valor arrojado, indica que existe un 8.78 % de error

Calculo de tasa de Error mediante el método de validación cruzada

prediccion.cv <- lda(tipo ~ ., data=wisconsin.nuevo, prior = c(0.5,0.5), CV = TRUE)$class
1 - sum(prediccion.cv == wisconsin.nuevo$tipo)/n
## [1] 0.08787346
a1 <- rnorm(2)
a2 <- rnorm(2)

nuevas.obs <- data.frame(rbind(a1,a2))
names(nuevas.obs) <- names(wisconsin.nuevo[-3])

nuevas.obs
##    smoothness concavepoints
## a1   1.951166     0.3324262
## a2   1.000466    -1.4016826
predict(lda.result,nuevas.obs)$class
## [1] benigno benigno
## Levels: benigno maligno
predict(lda.result,nuevas.obs)$x
##          LD1
## a1 -15.69101
## a2 -77.75540