python-3.x RandomForestClassifier无法给予重复的结果

u91tlkcl  于 2023-01-10  发布在  Python
关注(0)|答案(1)|浏览(185)

我的问题是,即使我为RandomForestClassifier本身和Train-Test-Split实现了Random_state(即使我不认为这是不必要的,因为我正在使用shuffle = False-由于时间序列数据)。请在下面找到我的代码,我已经尝试了以下问题的解决方案,但它没有工作:Python sklearn RandomForestClassifier non-reproducible results

Data Split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False, random_state=13)
X_train, X_test, y_train, y_test = np.array(X_train), np.array(X_test), np.array(y_train), np.array(y_test) 

print(f"Train and Test Size {len(X_train)}, {len(X_test)}")

随机森林分类器

forest = RandomForestClassifier(n_jobs=-1, 
                                class_weight=cwts(df), 
                                max_depth = 5, 
                                random_state = random.seed(1234))
forest.fit(X_train, y_train)

我的y变量是1或0的时间序列数据,因为我正在编程的交易策略,只能走平或长.此外,在下一步我使用Borutapy Package 器,当寻找最好的功能,它总是改变最好的功能,因为RandomForestClassifier是不是常数.你们中的任何人知道这个问题的解决方案?

pw9qyyiw

pw9qyyiw1#

函数numpy.random.seed为numpy计算设置了一个种子,但是返回None,所以实际上并没有为分类器的连续运行设置一个固定的种子,只需为random_state使用一个整数。

相关问题