2017-01-25 3 views
0

나는 R.에서 glmnet으로 올가미를하고있는 중이 야 나는 올가미 coefs out$betaR에서 glmnet으로부터 coefs 이름을 얻는 방법은 무엇입니까?

입력 :

x1 0.5744207722 
x2 -0.3575682570 
x3 -0.0995794334 

이 어떻게 변수의 이름을 추출 할 수 있습니다?

원하는 출력 : 나는

  1. $
  2. as.data.frame
  3. as.matrix

을 시도했지만 그들 중 누구도이을 변환하지 무엇 x1, x2,x3

210을 n 행 2 열 행렬로 변환한다. 벡터로 유지됩니다 (x1 0.5744207722).

수동으로 처리 할 수 ​​없습니다. 저는 1000 개 이상의 변수와 더 많은 모델을 실행할 수 있습니다. 그리고 나는 그것을 내 디스크에 쓰지 않고 그것을 다시 읽지 않을 것이다.

+0

이나요 :

최소 재현 예는이 있을까? 첫 번째 예제는'coef()'를 사용하여 각 변수에 대한 계수를 추출하는 방법을 보여줍니다. – Barker

+0

이름'x1','x2'는 coefs '0.5744207722','-0.3575682570' –

+0

이 아니고'rownames (coef (fit))'가 필요합니다. 그게 당신이 원하는대로하지 않는다면, 입력과 원하는 출력을 가진 재현 가능한 예제를 제공하십시오. – Barker

답변

1

위의 입력을 기반으로 한 단일 람다 값으로 glmnet 호출을 지정한 것 같습니다.

이 경우에는 names(out$beta[, 1][out$beta[, 1] != 0])과 같은 계수의 이름을 추출 할 수 있습니다. 0이 아닌 베타 이름 만 추출되므로 올가미가 기능 감소를 수행 한 이후 올가미를 적용 할 때 의미가 있습니다. 당신이 glmnet``에 대한 문서를 보면 out <- glmnet(as.matrix(mtcars[-1]), mtcars[["mpg"]], lambda = 1)