2017-12-15 2 views
2

두 가지 질문이 있습니다. bh_sne 라이브러리로 데이터를 플롯하려하지만이 알고리즘의 특성은 각 실행마다 임의의 숫자를 기반으로하므로 다른 결과가 있습니다. 나는 매번 같은 결과를 얻고 싶다. random_state이 도움이되는 것 같습니다. 그러나 random_state에 대해 다른 정수를 선택하면 정확히 무엇을 의미하는지 알 수 없습니다. 내 기능과 없음을 제외한 모든 값을 제공하여이 매개 변수를 적용 할 때TSNE (python)의 random_State 매개 변수 선택

random_state=0random_state=1 또는 random_state=42 사이의 차이가 무엇인지 예를 들어

.. 및 random_state=None

둘째, 나는 다음과 같은 오류가 발생했습니다.

AttributeError: 'int' object has no attribute 'randint' 

내 pycharm에 임의로 지정된 파일이 없습니다.

data = bh_sne(X, random_state =1) 

X 내 기능의 값을 포함합니다 :

내 코드입니다.

+0

어떤 라이브러리가 있습니까? 링크를 추가했지만 올바른 링크인지 확실하지 않습니다. [this one] (https://github.com/danielfrg/tsne)을 사용하고 있습니까? tsne의 – Engineero

+0

가져 오기 bh_sne – Elham

답변

3

이 lib는 numpy의 임의 모듈을 사용합니다. 구체적으로는 this part입니다.

그냥 그렇게 사용 :

import numpy as np 

bh_sne(X, random_state=np.random.RandomState(0)) # init with integer 0 

이 또한 일부 단위 테스트를 보여줍니다 무작위위한 간단한 소스 검색 (아래 그림 참조)로 볼 수있다!

정수 (위의 0)는 엔트로피의 소스 일 뿐이므로 일부 내부 임의 번호 생성기 상태가됩니다. PRNG를 분석하지 않으면 0의 seed-number가 1이나 40과 비교하여 어떻게 작동하는지 보장 할 수 없습니다. 서로 다를 필요는 없습니다 (그러나 종종 그렇습니다)!

단 하나의 보증 만 있습니다 : 결정론! 숫자 seed=my_integer으로 초기화 된 PRNG에서 임의의 숫자를 가져 오는 것은이 정확한 시드 (첫 x 숫자는 매번 같음, x는 임의 임)로 완료 될 때마다 동일한 경로/동일한 숫자를 반환합니다.

참고 :

그러나 intro-page 아마 (내가 파이썬에서 작업하는 동안 사용하는 lib에는 무엇을보고 내 첫 번째 질문을했다) 더 중요한 통지를 제공 v0.17이 TSNE 알고리즘을 포함 Scikit이-배우고 당신은 아마도 이것 대신에 그것들을 사용해야 할 것입니다.

enter image description here