0

「最も意味のある」変数を選択するために、ペナルティ付きLDAパッケージを使用してペナルティ付き線形判別分析を実行しようとしています。ここや他のサイトで、ペナルティ付きモデルからの出力にアクセスするためのヘルプを検索しましたが、役に立ちませんでした。

私のデータは、400 の変数と 44 のグループで構成されています。私が使用したコードとこれまでに得た結果:

yy.m<-as.matrix(yy)   #Factors/groups
xx.m<-as.matrix(xx)   #Variables

cv.out<-PenalizedLDA.cv(xx.m,yy.m,type="standard") 
  ## aplly the penalty
out <- PenalizedLDA(xx.m,yy.m,lambda=cv.out$bestlambda,K=cv.out$bestK)

分析から出力の構造を取得するには:

> str(out)
List of 10
$ discrim: num [1:401, 1:4] -0.0234 -0.0219 -0.0189 -0.0143 -0.0102 ...
$ xproj  : num [1:100, 1:4] -8.31 -14.68 -11.07 -13.46 -26.2 ...
$ K      : int 4
$ crits  :List of 4
  ..$ : num [1:4] 2827 2827 2827 2827
  ..$ : num [1:4] 914 914 914 914
  ..$ : num [1:4] 162 162 162 162
  ..$ : num [1:4] 48.6 48.6 48.6 48.6
$ type   : chr "standard"
$ lambda : num 0
$ lambda2: NULL
$ wcsd.x : Named num [1:401] 0.0379 0.0335 0.0292 0.0261 0.0217 ...
..- attr(*, "names")= chr [1:401] "R400" "R405" "R410" "R415" ...
$ x      : num [1:100, 1:401] 0.147 0.144 0.145 0.141 0.129 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : NULL
.. ..$ : chr [1:401] "R400" "R405" "R410" "R415" ...
$ y      : num [1:100, 1] 2 2 2 2 2 1 1 1 1 1 ...
- attr(*, "class")= chr "penlda"

おそらく線形識別の係数に基づいて、機能選択のための上位 20 個の変数のリストまたはマトリックスを取得することに興味があります。係数を降順に並べ替え、それに一致する変数名を取得する必要があることに気付きました。したがって、私が期待する出力は、この架空の例のようなものです

 V1       V2
R400      0.34
R1535     0.22...

誰でもポインタを提供できますか(必ずしもRコードではありません)。前もって感謝します。

4

1 に答える 1