2017-12-15 2 views
2

私は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

どのライブラリですか?リンクを追加しましたが、リンクが正しいかどうかはわかりません。あなたは[こちら](https://github.com/danielfrg/tsne)を使用していますか? – Engineero

+0

from tsneインポート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のシード数が1または40に比べてどのように挙動するかを保証するものではありません。異なる必要はありません(しかし、しばしばです)!

確定保証は1つだけです。番号seed=my_integerで初期化されたPRNGからランダム番号を取得すると、この正確なシード(最初のx個の数字は毎回同じです; xは任意です)で実行されるたびに同じパス/同じ番号が返されます。

しかしintro-pageはおそらく(私はPythonでの作業中に使用しているlibに見たとき、私の最初の質問だった)より重要な通知を行う:

注:Scikit-学ぶv0.17がTSNEアルゴリズムが含まれており、あなたはおそらくこれの代わりにそれらを使用しているはずです。

enter image description here

関連する問題