[R] differences between 1.7 and 1.7.1 glmnet versions
Damjan Krstajic
dkrstajic at hotmail.com
Tue Dec 27 08:55:42 CET 2011
Dear All,
I have found differences between glmnet versions 1.7 and 1.7.1 which, in
my opinion, are not cosmetic and do not appear in the ChangeLog. If I am
not mistaken, glmnet appears to return different number of selected
input variables, i.e. nonzeroCoef(fit$beta[[1]]) differes between
versions. The code below is the same for 1.7.1 and 1.7, but you can see
that outputs differ. I would automatically use the latest version, but
by looking at the ChangeLog I wonder if this is a bug or expected
behaviour, as this change is not documented.
Thanks in advance.
DK
>############# glmnet 1.7.1
> library(glmnet)
Loading required package: Matrix
Loading required package: lattice
Loaded glmnet 1.7.1
> set.seed(1)
> x=matrix(rnorm(40*500),40,500)
> g4=sample(1:7,40,replace=TRUE)
> fit=glmnet(x,g4,family="multinomial",alpha=0.1)
> dgcBeta<- fit$beta[[1]]
> which=nonzeroCoef(dgcBeta)
> which
[1] 1 12 15 17 19 20 34 39 42 58 60 62 63 65 71 72
73 77
[19] 80 82 85 86 95 97 98 99 106 110 113 114 119 120 123 124
128 130
[37] 136 138 139 143 148 149 151 160 161 162 173 174 175 176 177 183
186 187
[55] 188 190 193 194 195 198 199 204 206 218 224 238 239 240 241 245
247 250
[73] 252 255 256 258 265 266 270 277 278 281 287 293 294 296 297 300
306 308
[91] 311 316 317 321 326 329 336 337 341 349 354 356 363 365 368 374
376 377
[109] 379 384 385 389 397 398 400 403 404 407 415 417 418 423 424 430
432 437
[127] 440 442 446 450 451 454 456 459 463 467 470 472 474 478 481 488
496 497
[145] 498 500
> # just to check that inputs to glmnet are the same
> g4
[1] 5 4 5 3 2 6 1 6 6 1 3 6 1 2 6 3 7 2 6 7 6 7 5 1 3 2 2 3 2 3 3 1 5
6 7 4 6 3
[39] 2 7
> x[,1]
[1] -0.62645381 0.18364332 -0.83562861 1.59528080 0.32950777
-0.82046838
[7] 0.48742905 0.73832471 0.57578135 -0.30538839 1.51178117
0.38984324
[13] -0.62124058 -2.21469989 1.12493092 -0.04493361 -0.01619026 0.94383621
[19] 0.82122120 0.59390132 0.91897737 0.78213630 0.07456498 -1.98935170
[25] 0.61982575 -0.05612874 -0.15579551 -1.47075238 -0.47815006 0.41794156
[31] 1.35867955 -0.10278773 0.38767161 -0.05380504 -1.37705956 -0.41499456
[37] -0.39428995 -0.05931340 1.10002537 0.76317575
>
>################ glmnet 1.7
> library(glmnet)
Loading required package: Matrix
Loading required package: lattice
Loaded glmnet 1.7
> set.seed(1)
> x=matrix(rnorm(40*500),40,500)
> g4=sample(1:7,40,replace=TRUE)
> fit=glmnet(x,g4,family="multinomial",alpha=0.1)
> dgcBeta<- fit$beta[[1]]
> which=nonzeroCoef(dgcBeta)
> which
[1] 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17
18 19
[19] 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36
37 38
[37] 39 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56
57 58
[55] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
75 76
[73] 77 78 79 80 81 82 83 84 85 86 87 88 89 91 93 94
95 97
[91] 98 99 100 101 102 104 105 106 107 109 110 111 112 113 114 115
116 119
[109] 120 121 122 123 124 126 127 128 130 131 132 133 134 135 136 137
138 139
[127] 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 156
157 159
[145] 160 161 162 163 164 165 167 168 170 171 172 173 174 175 176 177
178 179
[163] 180 181 182 183 184 185 186 187 188 189 190 191 193 194 195 196
197 198
[181] 199 200 203 204 205 206 207 208 209 211 212 213 215 216 217 218
219 220
[199] 221 222 223 224 225 226 227 228 229 231 232 233 234 235 236 237
238 239
[217] 240 241 242 243 244 245 246 247 248 249 250 251 252 253 255 256
257 258
[235] 259 261 262 263 264 265 266 268 269 270 271 272 273 274 275 276
277 278
[253] 279 280 281 282 283 285 286 287 288 289 290 291 292 293 294 295
296 297
[271] 298 299 300 301 302 304 305 306 307 308 309 310 311 312 313 314
315 316
[289] 317 318 319 321 323 324 325 326 327 328 329 330 331 332 333 334
336 337
[307] 338 339 341 342 343 344 345 346 347 348 349 350 351 352 353 354
355 356
[325] 357 358 361 362 363 364 365 366 367 368 369 370 371 372 373 374
375 376
[343] 377 378 379 380 381 382 384 385 386 388 389 390 393 394 395 396
397 398
[361] 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
415 417
[379] 418 420 421 422 423 424 425 426 427 428 429 430 432 433 434 436
437 438
[397] 439 440 441 442 443 444 445 446 448 450 451 452 453 454 455 456
457 458
[415] 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474
475 476
[433] 477 478 479 480 481 482 483 484 486 488 489 490 491 493 494 495
496 497
[451] 498 499 500
> # just to check that inputs to glmnet are the same
> g4
[1] 5 4 5 3 2 6 1 6 6 1 3 6 1 2 6 3 7 2 6 7 6 7 5 1 3 2 2 3 2 3 3 1 5
6 7 4 6 3
[39] 2 7
> x[,1]
[1] -0.62645381 0.18364332 -0.83562861 1.59528080 0.32950777
-0.82046838
[7] 0.48742905 0.73832471 0.57578135 -0.30538839 1.51178117
0.38984324
[13] -0.62124058 -2.21469989 1.12493092 -0.04493361 -0.01619026 0.94383621
[19] 0.82122120 0.59390132 0.91897737 0.78213630 0.07456498 -1.98935170
[25] 0.61982575 -0.05612874 -0.15579551 -1.47075238 -0.47815006 0.41794156
[31] 1.35867955 -0.10278773 0.38767161 -0.05380504 -1.37705956 -0.41499456
[37] -0.39428995 -0.05931340 1.10002537 0.76317575
More information about the R-help
mailing list