scikit learn 함수의 매개 변수를 동적으로 변경하는 방법, 즉 최상의 매개 변수 찾기

Ashwin DV

특히 sklearn의 PCA 기능을 사용하여 차원 축소를 시도하고 있습니다.

from sklearn.decomposition import PCA

def mypca(X,comp): 
pca = PCA(n_components=comp)
pca.fit(X)
PCA(copy=True, n_components=comp, whiten=False)
Xpca = pca.fit_transform(X)
return Xpca

for n_comp in range(10,1000,20):
    Xpca = mypca(X,n_comp) # X is a 2 dimensional array
    print Xpca

comp에 대해 다른 값을 가진 루프에서 mypca 함수를 호출하고 있습니다. 해결하려는 문제에 대해 comp의 최상의 가치를 찾기 위해이 작업을 수행하고 있습니다. 그러나 mypca 함수는 comp 값에 관계없이 항상 동일한 값, 즉 Xpca를 반환합니다.
반환하는 값은 루프에서 보내는 comp의 첫 번째 값에 대해 정확합니다. 즉, 매번 보내는 Xpca 값은 제 경우에 comp = 10에 대해 정확합니다.

comp의 최상의 가치를 찾으려면 어떻게해야합니까?

user20160

구성 요소 수에 대해 서로 다른 값을 전달하고 각각에 다시 맞추려는 것 같습니다. PCA의 좋은 점은 실제로이 작업을 수행 할 필요가 없다는 것입니다. 전체 구성 요소 수 (데이터 세트의 차원만큼 많은 구성 요소 포함)를 채운 다음 원하지 않는 구성 요소 (즉, 분산이 작은 구성 요소)를 버릴 수 있습니다. 이는 더 적은 수의 부품으로 전체 모델을 다시 맞추는 것과 같습니다. 많은 계산을 절약합니다.

방법 :

# x = input data, size(<points>, <dimensions>)

# fit the full model
max_components = x.shape[1] # as many components as input dimensions
pca = PCA(n_components=max_components)
pca.fit(x)

# transform the data (contains all components)
y_all = pca.transform(x)

# keep only the top k components (with greatest variance)
k = 2
y = y_all[:, 0:k]

구성 요소 수를 선택하는 방법은 수행하려는 작업에 따라 다릅니다. 성분 수를 선택하는 한 가지 표준 방법은의 각 선택에 의해 k설명 된 분산 비율 ( R^2) 을 보는 것 입니다 k. 데이터가 저 차원 선형 부분 공간 근처에 분포되어있는 경우 R^2를 플로팅 할 때 k곡선은 '팔꿈치'모양을 갖습니다. 팔꿈치는 부분 공간의 차원에 위치합니다. 데이터를 이해하는 데 도움이되므로이 곡선을 보는 것이 좋습니다. 깨끗한 팔꿈치가 없더라도 R^2분산의 95 %를 유지하기 위해에 대한 임계 값을 선택하는 것이 일반적 입니다.

이를 수행하는 방법은 다음과 같습니다 ( max_components구성 요소가 있는 모델에서 수행해야 함 ).

# Calculate fraction of variance explained
# for each choice of number of components
r2 = pca.explained_variance_.cumsum() / x.var(0).sum()

진행할 수있는 또 다른 방법은 PCA 변환 데이터를 가져와 다운 스트림 알고리즘 (예 : 분류기 / 회귀)에 제공 한 다음 성능에 따라 구성 요소 수를 선택하는 것입니다 (예 : 교차 검증 사용).

참고 : 형식화 문제 일 수 있지만 코드 블록을 mypca()들여 쓰기해야합니다. 그렇지 않으면 함수의 일부로 해석되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

매개 변수 쌍의 수를 변경하여 함수를 동적으로 생성하는 방법

분류에서Dev

함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

분류에서Dev

첫 번째 매개 변수로 파일의 매개 변수를 변경하는 방법

분류에서Dev

SSRS의 다른 매개 변수를 기반으로 다중 값 매개 변수를 채우는 방법

분류에서Dev

매개 변수가 scikit-learn GridSearchCV의 사용자 정의 추정기로 이동하지 않습니다.

분류에서Dev

scikit-learn.predict 메소드의 매개 변수로 허용되는 유형

분류에서Dev

Helm 차트의 매개 변수를 기반으로 동적으로 값을 가져 오는 방법

분류에서Dev

다른 매개 변수의 값을 기반으로하는 Powershell의 동적 매개 변수

분류에서Dev

매개 변수의 동적 개수를 사용하여 경로를 만드는 방법

분류에서Dev

2 개의 매개 변수 경로를 사용하는 방법 get node.js

분류에서Dev

경로의 매개 변수?

분류에서Dev

같은 이름의 함수를 매개 변수로 호출하는 방법

분류에서Dev

href html 태그의 매개 변수로 PHP 함수를 호출하는 방법

분류에서Dev

SpriteKit Swift의 함수에서 NSTimer를 매개 변수로 전달하는 방법

분류에서Dev

객체 / 클래스를 함수의 매개 변수로 전달하는 방법

분류에서Dev

많은 수의 매개 변수 조합으로 함수를 계산하는 가장 효율적인 방법

분류에서Dev

매개 변수로서의 PHP 함수 매개 변수

분류에서Dev

상위 경로 매개 변수를 기반으로하는 각도 ui- 라우터 옵션 매개 변수

분류에서Dev

함수의 매개 변수에서 동적으로 var

분류에서Dev

URL 매개 변수를 / parameter로 변경하는 방법

분류에서Dev

Python에서 기본 매개 변수가 아닌 매개 변수 앞에 기본 매개 변수로 함수를 선언하는 방법은 무엇입니까?

분류에서Dev

두 개의 매개 변수가있는 함수를 하나의 매개 변수로만 변환

분류에서Dev

다른 함수 매개 변수의 축소 유형을 기반으로 함수 매개 변수 유형을 추론 / 좁히는 방법은 무엇입니까?

분류에서Dev

JavaScript 함수의 JSON 개체를 함수 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

새로 고칠 때 변경되는 기존 변수를 sinatra를 사용하는 post 메서드의 매개 변수로 전달하는 방법

분류에서Dev

목적 c의 주 함수에 매개 변수를 보내는 방법

분류에서Dev

URL에서 둘 이상의 매개 변수를 보내는 방법과 Node.js / Express의 GET 경로에서 매개 변수에 액세스하는 방법

분류에서Dev

매개 변수 값을 동적으로 할당하는 방법

분류에서Dev

매개 변수로서의 C # 함수

Related 관련 기사

  1. 1

    매개 변수 쌍의 수를 변경하여 함수를 동적으로 생성하는 방법

  2. 2

    함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

  3. 3

    첫 번째 매개 변수로 파일의 매개 변수를 변경하는 방법

  4. 4

    SSRS의 다른 매개 변수를 기반으로 다중 값 매개 변수를 채우는 방법

  5. 5

    매개 변수가 scikit-learn GridSearchCV의 사용자 정의 추정기로 이동하지 않습니다.

  6. 6

    scikit-learn.predict 메소드의 매개 변수로 허용되는 유형

  7. 7

    Helm 차트의 매개 변수를 기반으로 동적으로 값을 가져 오는 방법

  8. 8

    다른 매개 변수의 값을 기반으로하는 Powershell의 동적 매개 변수

  9. 9

    매개 변수의 동적 개수를 사용하여 경로를 만드는 방법

  10. 10

    2 개의 매개 변수 경로를 사용하는 방법 get node.js

  11. 11

    경로의 매개 변수?

  12. 12

    같은 이름의 함수를 매개 변수로 호출하는 방법

  13. 13

    href html 태그의 매개 변수로 PHP 함수를 호출하는 방법

  14. 14

    SpriteKit Swift의 함수에서 NSTimer를 매개 변수로 전달하는 방법

  15. 15

    객체 / 클래스를 함수의 매개 변수로 전달하는 방법

  16. 16

    많은 수의 매개 변수 조합으로 함수를 계산하는 가장 효율적인 방법

  17. 17

    매개 변수로서의 PHP 함수 매개 변수

  18. 18

    상위 경로 매개 변수를 기반으로하는 각도 ui- 라우터 옵션 매개 변수

  19. 19

    함수의 매개 변수에서 동적으로 var

  20. 20

    URL 매개 변수를 / parameter로 변경하는 방법

  21. 21

    Python에서 기본 매개 변수가 아닌 매개 변수 앞에 기본 매개 변수로 함수를 선언하는 방법은 무엇입니까?

  22. 22

    두 개의 매개 변수가있는 함수를 하나의 매개 변수로만 변환

  23. 23

    다른 함수 매개 변수의 축소 유형을 기반으로 함수 매개 변수 유형을 추론 / 좁히는 방법은 무엇입니까?

  24. 24

    JavaScript 함수의 JSON 개체를 함수 매개 변수로 전달하는 방법은 무엇입니까?

  25. 25

    새로 고칠 때 변경되는 기존 변수를 sinatra를 사용하는 post 메서드의 매개 변수로 전달하는 방법

  26. 26

    목적 c의 주 함수에 매개 변수를 보내는 방법

  27. 27

    URL에서 둘 이상의 매개 변수를 보내는 방법과 Node.js / Express의 GET 경로에서 매개 변수에 액세스하는 방법

  28. 28

    매개 변수 값을 동적으로 할당하는 방법

  29. 29

    매개 변수로서의 C # 함수

뜨겁다태그

보관