python - 在 TSNE 中选择 random_State 参数(python)

标签 python machine-learning

我有两个问题,我正在尝试用 bh_sne 绘制我的数据库,但是由于该算法的本质是基于每次运行中的随机数,因此我得到了不同的结果。我希望每次运行都能得到相同的结果。看来random_state很有帮助。 但我不知道为 random_state 选择不同的整数到底意味着什么。

例如,random_state=0random_state=1random_state=42 .. 和 random_state= 之间有什么不同无

其次,当我在函数中应用此参数并给出除 None 之外的任何值时,出现以下错误。

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

我的 pycharm 中没有任何名为 random 的文件。

这是我的代码:

data = bh_sne(X, random_state =1 )

X 包含我的特征值。

最佳答案

该库使用 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 相比如何表现。它不需要不同(但通常是不同)!

只有一个保证:决定论!从用数字 seed=my_integer 初始化的 PRNG 中获取随机数,每次使用该精确种子完成此操作时都会返回相同的路径/相同的数字(前 x 个数字每次都相等;x 是任意的) 。

但是intro-page可能会给出一个更重要的通知(当我看到你在 python 中工作时使用的库时,这是我的第一个问题):

注意:Scikit-learn v0.17 包含 TSNE 算法,您可能应该使用它们而不是这个。

enter image description here

关于python - 在 TSNE 中选择 random_State 参数(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47840056/

相关文章:

python - 高效转换 Pandas DataFrame

python - 如何比较两个一个热编​​码列表?

python - 如何在图像上训练 scikit-neuralnetwork

r - `h2o.cbind` 仅接受 H2OFrame 对象 - R

python - python问题中字符串的翻译器

python - pandas 操作是否与 groupby 互补(相反)?

python - opencv imwrite,图像旋转

python - 试图制作一个 whatsapp 机器人

programming-languages - 学习机器学习的最佳编程语言是什么?

hadoop - Spark ml 模型保存到 hdfs