wfmlover 发表于 2025-08-27 19:56底层的implementation都不一定一样 它们只是名字一样
chainshore 发表于 2025-08-27 19:48 一个dataframe从0开始一个从1开始,这个match对了吗
gokgs 发表于 2025-08-28 10:40 0.1 很大吗? 你的程序是,determistic 的吗?你自己的程序每次运行结果都是一样的吗?
xiaohuihui 发表于 2025-08-28 10:41 random seed 不一样。
xiaohuihui 发表于 2025-08-28 10:46 而且, 你同样的code在不同操作系统,结果也会不一样,因为产生随机数的机制不一样,而且你的并行计算线程数也得设置。
SSBN826 发表于 2025-08-28 10:49 把生成的随机数存成csv文件,用python和R同时使用相同数据比比看。
microsat 发表于 2025-08-28 10:27 也许。 比如:这个随机数就不一样。 set.seed(42)产生不出np.random.seed(42)的随机数。 奇怪,xgboos难道不是一个公司编写的R和python包吗? 遇到python和R结果不一样,大家怎么办?
microsat 发表于 2025-08-28 10:43 python每次运行结果都一样。 R每次运行结果都一样。 因为都设置了随机数。 但是R和python出来的结果不一样。 这就导致:python得出的模型参数,无法在R中使用和验证。
数据一摸一样 xgboost模型和参数都一摸一样。
但是他的python得出的probability和我的probability却不一样,有的居然相差0.1。
请问,有什么办法,让python和R中的xgboost模型,在学习同一个数据,同xgboost参数,最终能得出一样的概率。
也许。
比如:这个随机数就不一样。 set.seed(42)产生不出np.random.seed(42)的随机数。
奇怪,xgboos难道不是一个公司编写的R和python包吗?
遇到python和R结果不一样,大家怎么办?
这个基本一致。极个别会出现不一样。比如0.49 和0.51.那么一个是0,一个是1.
但是我要的是probability值。
python每次运行结果都一样。
R每次运行结果都一样。
因为都设置了随机数。
但是R和python出来的结果不一样。 这就导致:python得出的模型参数,无法在R中使用和验证。
的确是一个原因。 而且这个还根本解决不了。
请问有什么方法能解决这个问题呢?
python和R使用的都是local 文件的数据。一模一样。
随机数无法存csv,因为xgb.train()内部如何生成随机数,我没有去查看代码。 外部就是一个radom state = 42可以控制这个随机数。
但是R和python无法调成一致。
xgboost是算法,软件包都是不同的人contribute的 如果是随机数的问题,你就不用随机数呗 哪怕是不同的软件平台,同样算法,差别0.1显然是不可能的
把python产生的随机数share到R里用一下