Scikit-learn: 使 random_state 描述更具信息性并参考词汇表

创建于 2018-01-29  ·  60评论  ·  资料来源: scikit-learn/scikit-learn

我们最近在我们的文档中添加了一个词汇表,其中描述了通用参数等。 我们现在应该替换random_state参数的描述,使它们更简洁和信息量更大(参见 #10415)。 例如,代替

    random_state : int, RandomState instance or None, optional, default: None
        If int, random_state is the seed used by the random number generator;
        If RandomState instance, random_state is the random number generator;
        If None, the random number generator is the RandomState instance used
        by `np.random`.

在 KMeans 和 MiniBatchKMeans 中,我们可能有:

KMeans:
    random_state : int, RandomState instance, default=None
        Determines random number generation for centroid initialization.
        Pass an int for reproducible results across multiple function calls.
        See :term:`Glossary <random_state>`.


MiniBatchKMeans:
    random_state : int, RandomState instance, default=None
        Determines random number generation for centroid initialization and
        random reassignment.
        Pass an int for reproducible results across multiple function calls.
        See :term:`Glossary <random_state>`.

因此,描述应该侧重于random_state对算法的影响。

有兴趣贡献此更改的贡献者应该一次承担一个模块,最初。

要修改的估算器列表如下:

使用kwinata脚本修改的文件列表

  • [x] [sklearn/dummy.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/dummy.py) - 59
  • [x] [sklearn/multioutput.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/multioutput.py) - 578 , 738
  • [] [sklearn/kernel_approximation.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/kernel_approximation.py) - 41 , 143 , 470
  • [] [sklearn/multiclass.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/multiclass.py) - 687
  • [x] [sklearn/random_projection.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/random_projection.py) - 178 , 245 , 464 , 586
  • [x] [sklearn/feature_extraction/image.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/feature_extraction/image.py) - 368 , 502
  • [x] [sklearn/utils/random.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/random.py) - 39公开PR
  • [x] [sklearn/utils/extmath.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/extmath.py) - 185 , 297
  • [x] [sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py) - 736 , 918
  • [x] [sklearn/ensemble/_hist_gradient_boosting/binning.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_hist_gradient_boosting/binning.py) - 37 , 112

  • [x] [sklearn/ensemble/_bagging.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_bagging.py) - 503 , 902

  • [x] [sklearn/ensemble/_gb.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_gb.py) - 887 , 1360
  • [x] [sklearn/ensemble/_forest.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_forest.py) - 965 , 1282 , 1559 , 1868 , 2103
  • [x] [sklearn/ensemble/_iforest.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_iforest.py) - 109
  • [] [sklearn/ensemble/_base.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_base.py) - 52
  • [x] [sklearn/ensemble/_weight_boosting.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_weight_boosting.py) - 188 , 324 , 479 , 900 , 1022
  • [x] [sklearn/decomposition/_truncated_svd.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_truncated_svd.py) - 59公开公关
  • [x] [sklearn/decomposition/_kernel_pca.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_kernel_pca.py) - 79公开公关
  • [x] [sklearn/decomposition/_dict_learning.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_dict_learning.py) - 364 , 485 , 692 , 1135 , 1325公开公关
  • [x] [sklearn/decomposition/_fastica.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_fastica.py) - 205 , 344公开公关
  • [x] [sklearn/decomposition/_nmf.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_nmf.py) - 290 , 475 , 966 , 1159打开公关
  • [x] [sklearn/decomposition/_pca.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_pca.py) - 192公开公关
  • [x] [sklearn/decomposition/_sparse_pca.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_sparse_pca.py) - 82 , 285公开公关
  • [x] [sklearn/decomposition/_lda.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_lda.py) - 60 , 79 , 225公开公关
  • [x] [sklearn/decomposition/_factor_analysis.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/_factor_analysis.py) - 92公开公关
  • [x] [sklearn/cluster/_kmeans.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/cluster/_kmeans.py) - 56 , 241 , 380 , 583 , 700 , 1150 , 1370
  • [x] [sklearn/cluster/_spectral.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/cluster/_spectral.py) - 41 , 197 , 313
  • [x] [sklearn/cluster/_bicluster.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/cluster/_bicluster.py) - 236 , 383
  • [x] [sklearn/cluster/_mean_shift.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/cluster/_mean_shift.py) - 48
  • [x] [sklearn/preprocessing/_data.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/preprocessing/_data.py) - 2178 , 2607
  • [x] [sklearn/impute/_iterative.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/impute/_iterative.py) - 125
  • [x] [sklearn/linear_model/_ransac.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_ransac.py) - 152公开公关
  • [x] [sklearn/linear_model/_coordinate_descent.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_coordinate_descent.py) - 580 , 860 , 1313 , 1487 , 1665 , 1851 , 2016 , 2192公开公关
  • [x] [sklearn/linear_model/_sag.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_sag.py) - 154公开公关
  • [x] [sklearn/linear_model/_perceptron.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_perceptron.py) - 55公开公关
  • [x] [sklearn/linear_model/_passive_aggressive.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_passive_aggressive.py) - 76 , 322公开公关
  • [x] [sklearn/linear_model/_logistic.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_logistic.py) - 587 , 924 , 1100 , 1658打开公关
  • [x] [sklearn/linear_model/_base.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_base.py) - 65
  • [x] [sklearn/linear_model/_stochastic_gradient.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_stochastic_gradient.py) - 369 , 811 , 1419公开公关
  • [x] [sklearn/linear_model/_theil_sen.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_theil_sen.py) - 243公开公关
  • [x] [sklearn/linear_model/_ridge.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/_ridge.py) - 325 , 693 , 853公开公关
  • [x] [sklearn/tree/_classes.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_classes.py) - 653 , 1033 , 1322 , 1552
  • [x] [sklearn/feature_selection/_mutual_info.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/feature_selection/_mutual_info.py) - 226 , 335 , 414
  • [x] [sklearn/metrics/cluster/_unsupervised.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/metrics/cluster/_unsupervised.py) - 80
  • [x] [sklearn/svm/_classes.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/svm/_classes.py) - 90 , 312 , 546 , 752打开公关
  • [x] [sklearn/svm/_base.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/svm/_base.py) - 853公开公关
  • [x] [sklearn/inspection/_permutation_importance.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/inspection/_permutation_importance.py) - 81
  • [x] [sklearn/gaussian_process/_gpr.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/gaussian_process/_gpr.py) - 109 , 382
  • [x] [sklearn/gaussian_process/_gpc.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/gaussian_process/_gpc.py) - 110 , 537
  • [x] [sklearn/manifold/_spectral_embedding.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/_spectral_embedding.py) - 171 , 387
  • [x] [sklearn/manifold/_locally_linear.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/_locally_linear.py) - 146 , 252 , 584
  • [x] [sklearn/manifold/_t_sne.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/_t_sne.py) - 558
  • [x] [sklearn/manifold/_mds.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/_mds.py) - 51 , 198 , 314
  • [x] [sklearn/utils/_testing.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/_testing.py) - 521
  • [x] [sklearn/utils/__init__.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/__init__.py) - 478 , 623
  • [x] [sklearn/datasets/_kddcup99.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_kddcup99.py) - 79
  • [x] [sklearn/datasets/_covtype.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_covtype.py) - 69
  • [x] [sklearn/datasets/_rcv1.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_rcv1.py) - 114
  • [x] [sklearn/datasets/_samples_generator.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_samples_generator.py) - 127 , 323 , 440 , 531 , 61868876790496510301106115912181258130713681420148315711662
  • [x] [sklearn/datasets/_olivetti_faces.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_olivetti_faces.py) - 64
  • [x] [sklearn/datasets/_base.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_base.py) - 157
  • [x] [sklearn/datasets/_twenty_newsgroups.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/_twenty_newsgroups.py) - 187
  • [x] [sklearn/mixture/_bayesian_mixture.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/mixture/_bayesian_mixture.py) - 166
  • [x] [sklearn/mixture/_base.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/mixture/_base.py) - 139
  • [x] [sklearn/mixture/_gaussian_mixture.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/mixture/_gaussian_mixture.py) - 504
  • [x] [sklearn/model_selection/_validation.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/model_selection/_validation.py) - 1006 , 1176
  • [x] [sklearn/model_selection/_split.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/model_selection/_split.py) - 382 , 588 , 1091 , 1196 , 1250 , 1390 , 1492 , 1605 , 2049公开公关
  • [x] [sklearn/model_selection/_search.py​​](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/model_selection/_search.py​​) - 207 , 1299
  • [x] [sklearn/neural_network/_multilayer_perceptron.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neural_network/_multilayer_perceptron.py) - 782 , 1174
  • [x] [sklearn/neural_network/_rbm.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neural_network/_rbm.py) - 59
  • [x] [sklearn/neighbors/_kde.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/_kde.py) - 233
  • [x] [sklearn/neighbors/_nca.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/_nca.py) - 112
  • [X] [sklearn /协方差/ _robust_covariance.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/covariance/_robust_covariance.py) - 63233328545
  • [x] [sklearn/covariance/_elliptic_envelope.py](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/covariance/_elliptic_envelope.py) - 40
Documentation Moderate Sprint good first issue

最有用的评论

我们想处理 sklearn/preprocessing/_data.py - 2178, 2607
@rachelcjordan和 @fabi-cast

wimlds #SciKitLearnSprint

所有60条评论

@jnothman ,我可以接受这个问题吗? 谢谢

申请一个模块/子包,然后试一试……

在2018年1月30 00:24,Somya阿南德[email protected]写道:

@jnothman https://github.com/jnothman ,我可以接受这个问题吗? 谢谢


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/scikit-learn/scikit-learn/issues/10548#issuecomment-361243951
或静音线程
https://github.com/notifications/unsubscribe-auth/AAEz62ie2pMFVg7uM6_MVnmWKRX-efgHks5tPcaHgaJpZM4Rwij3
.

@jnothman我很抱歉我

我认为@jnothman 的意思只是从一个文件开始,例如 sklearn/cluster/k_means_.py,更新顶部帖子中的random_state文档字符串并打开 PR。

子包类似于 sklearn.cluster

谢谢。 会这样做并打开公关。

你好! @jnothman

您还想替换 grid_search.py​​ 中的以下注释吗? 与您共享的线路相比,他们多出了一条线路。

random_state : int, RandomState instance or None, optional (default=None)
        Pseudo random number generator state used for random uniform sampling
        from lists of possible values instead of scipy.stats distributions.
        If int, random_state is the seed used by the random number generator;
        If RandomState instance, random_state is the random number generator;
        If None, the random number generator is the RandomState instance used
        by `np.random`.

我可以使用 grid_search.py​​ 和 k_means.py(KMeans)。

单独留下 grid_search.py​​。 它已被弃用。 想法是最小化
重复的内容,并在词汇表中可用,以便我们可以
向用户提供有关 random_state 在其中的角色的最翔实的描述
特定估计量。

谢谢@jnothman。 在替换这个 random_state 信息之前,我是否需要了解这些算法?

您将需要广泛地了解算法,但不是每个细节
他们的实施。 您将需要能够找到 random_state 的位置
如果算法中的随机化不完全明显,则使用。
在某些情况下,甚至不提供比
只是链接到词汇表; 我们得看看情况如何。

好的谢谢你。 我将开始慢慢研究算法。

问候,
希瓦姆·拉斯托吉

我已经打开了一个拉取请求 #10614

由于@aby0尚未声明 sklearn.cluster 模块。 我想声明整个模块。 请让我知道我是否可以处理它,或者我应该处理其他事情。

有更新的吗? 这对我们来说是一个漫长的假期,所以如果我可以选择这个,请告诉我。

我将使用datasets模块,因为我已经在那里寻找 #10731 的文档字符串。

我声称linear_model模块。 很快就会提出 PR。 #11900 提出。

接下来声明decomposition模块。

需要执行此操作的模块清单:

  • [ ] 开发人员
  • [ ] 协方差
  • [x] 分解
  • [] dummy.py
  • [ ] 合奏
  • [ ] 特征提取
  • [] 特征选择
  • [] 高斯进程
  • [] kernel_approximation.py
  • [x] 线性模型通过 #11900
  • [ ] 流形
  • [ ] 指标
  • [ ] 混合物
  • [ ] 模型选择
  • [] 多类.py
  • [] 多输出.py
  • [ ] 邻居
  • [ ] 神经网络
  • [ ] 预处理
  • [] random_projection.py
  • [] 支持向量机
  • [ ] 树
  • [] 实用程序

我们在就如何取得适当的平衡达成共识时遇到了一些困难
在这里,iirc

所以一定要注意上面合并的先前的 PR

@jnothman谢谢! 将更新 PR 以提及传递 int 时的可重复性。

愿意在另一个 PR 中使用所有其他模块,一旦这些模块被审查...

我声称协方差。

@BlackTeaAndCoffee请注意,文档字符串格式尚未最终确定,此处列出的其他 PR 正在讨论中。 所以你可能也想看看。

我声称 feature_extraction

@jnothman@NicolasHug刚刚发现了 #15222 和一些与之相关的 PR,我在总结这个时没有考虑到这些公关……其中一些从未被审查过……:(
为了使冲刺的事情变得清晰,我想知道我们是否可以解决这两个问题之一:如果是,那是哪一个? 因为我可以避免重复信息。 感谢您的合作。

我不知道这个问题(应该检查得更好),我很高兴关闭https://github.com/scikit-learn/scikit-learn/issues/15222以支持这个问题

@jnothman评论之后,也许这个问题应该贴上“中等”标签?

我们想要处理 ensemble/_hist_gradient_boosting/binning。
@mojc和我。

野生动物

@anaisabeldhero和我想在多方面工作/*
#wimlds #SciKitLearnSprint

@daphn3k ,我将在 sklearn/gaussian_process/ 上工作

wimlds #SciKitLearnSprint

我们想处理 sklearn/preprocessing/_data.py - 2178, 2607
@rachelcjordan和 @fabi-cast

wimlds #SciKitLearnSprint

我和@Malesche想参加 sklearn/inspection/_permutation_importance.py

无线数据传输系统

声称 sklearn/metrics/cluster/_unsupervised.py 文件! #wimlds

@daphn3k和我也采用协方差/* 和邻居/* #wimlds

宣称:
sklearn/dummy.py - 59
sklearn/multioutput.py - 578, 738
sklearn/kernel_approximation.py - 41, 143, 470
sklearn/multiclass.py - 687
sklearn/random_projection.py - 178、245、464、586

PSA:请使用原句

传递 int 以获得跨多个函数调用的可重现结果。

而不是我目前在 PR 中看到的:

使用 int 使随机性具有确定性

这是不正确的,因为无论传递什么,RNG 始终是确定性的

CC @adrinjalali因为我认为你在冲刺

研究神经网络和混合

PSA:请使用原句

传递 int 以获得跨多个函数调用的可重现结果。

而不是我目前在 PR 中看到的:

使用 int 使随机性具有确定性

这是不正确的,因为无论传递什么,RNG 始终是确定性的

CC @adrinjalali因为我认为你在冲刺

@NicolasHug这是为了评论我想的公关......哪个? :)

将在 scikit-learn/sklearn/model_selection/_validation.py 上工作

@cmarmo这是所有 PR 的一般性评论。 我看到一个并在那里发表评论,然后看到第二个并发现这是一种可以更好地在源头解决的模式

@cmarmo这是所有 PR 的一般性评论。 我看到一个并在那里发表评论,然后看到第二个并发现这是一种可以更好地在源头解决的模式

抱歉@NicolasHug ,我的错,我没有发现该评论易于追踪。

@NicolasHug@anaisabeldhero和我的提交中更正了原始句子

我和@Olks声称 sklearn/utils/extmath.py - 185, 297

声明 sklearn/ensemble/_iforest.py - 109

声明 sklearn/neural_network/_multilayer_perceptron.py - 782, 1174

声明 sklearn/ensemble/_weight_boosting.py - 188、324、479、900、1022

声明 sklearn/multioutput.py - 578, 738

宣称 :
sklearn/mixture/_bayesian_mixture.py - 166
sklearn/mixture/_base.py - 139
sklearn/mixture/_gaussian_mixture.py - 504

声明 sklearn/ensemble/_gb.py - 887, 1360

声明 sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py - 736, 918

声明 sklearn/neural_network/_rbm.py - 59

宣称 :

sklearn/svm/_classes.py - 90, 312, 546, 752
sklearn/svm/_base.py - 853

宣称:

sklearn/feature_selection/_mutual_info.py - 226、335、414
sklearn/metrics/cluster/_unsupervised.py - 80
sklearn/utils/_testing.py - 521
sklearn/utils/init.py - 478, 623

宣称 :

sklearn/dummy.py - 59
sklearn/random_projection.py - 178、245、464、586

@DatenBiene @GregoireMialon感谢您在上个 sprint 中所做的所有贡献。 只有 3 个模块未选中!

你有兴趣/有时间/有动力去解决这些问题吗(没有压力!)?

嗨,杰瑞米! 我会尽快去看看

勒梅尔。 12 热。 2020 à 15:53, Jérémie du Boisberranger <
通知@github.com> 一个 écrit :

@DatenBiene https://github.com/DatenBiene @GregoireMialon
https://github.com/GregoireMialon感谢您的所有贡献
在最后一个冲刺期间。 只有 3 个模块未选中!

你有兴趣/有时间/有动力去解决这些问题吗(没有
压力 !) ?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/scikit-learn/scikit-learn/issues/10548?email_source=notifications&email_token=AFY4624NQL3EAFLBGPUNAE3RCQEO3A5CNFSM4EOCFD32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELRBT2A#issuecomment-585243112
或退订
https://github.com/notifications/unsubscribe-auth/AFY4625457AU7OL4E4EUVOTRCQEO3ANCNFSM4EOCFD3Q
.

嗨@jeremiedbb! 今天我会努力完成剩下的3个模块😃

宣称:

sklearn/kernel_approximation.py - 41, 143, 470
sklearn/multiclass.py - 687
sklearn/ensemble/_base.py - 52

@jnothman@jeremiedbb ,看起来像所有修改过的文件。 如果您发现任何遗留问题,我很乐意为您提供帮助。

非常感谢@DatenBiene和所有努力解决这个问题的贡献者!
我想我们可以关闭这个巨大的!
如果仍然缺少关于random_state描述的内容,请随时打开新的特定问题。

此页面是否有帮助?
0 / 5 - 0 等级