Python 3.x 在执行10x10分层SHUFLESPLIT时,是否应在任何分类器中指定随机_状态?

Python 3.x 在执行10x10分层SHUFLESPLIT时,是否应在任何分类器中指定随机_状态?,python-3.x,random,machine-learning,Python 3.x,Random,Machine Learning,我正在做10x10的分层吹扫。我平均了每一次折叠的准确度。 正如您在代码中看到的,我为SSS使用了10种不同的随机状态。但对于我来说,我什么都不用。 我是否也应该在RandomForest中指定Randomy_状态? 如果我不这样做会发生什么 多谢各位 result_list = [] for name in ["AWA"]: for el in ['Fp1']: x=sio.loadmat('/home/TrainVal/{}_{

我正在做10x10的分层吹扫。我平均了每一次折叠的准确度。 正如您在代码中看到的,我为SSS使用了10种不同的随机状态。但对于我来说,我什么都不用。 我是否也应该在RandomForest中指定Randomy_状态? 如果我不这样做会发生什么

多谢各位

    result_list = [] 

    for name in ["AWA"]: 
         for el in ['Fp1']:
            x=sio.loadmat('/home/TrainVal/{}_{}.mat'.format(name, el))['x']
            s_y=sio.loadmat('/home/TrainVal/{}_{}.mat'.format(name, el))['y']
            y=np.ravel(s_y)


            print(name, el, x.shape, y.shape)
            print("")

            clf = make_pipeline(preprocessing.RobustScaler(), RandomForestClassifier())   
        ##################10x10 SSS#############
            print("10x10")
            xSSSmean10 = []
            for i in range(10):
                sss = StratifiedShuffleSplit(y, 10, test_size=0.1, random_state=i) 
                scoresSSS = cross_validation.cross_val_score(clf, x, y , cv=sss)

                xSSSmean10.append(scoresSSS.mean())


            result_list.append(xSSSmean10)

这样做:每次调用代码时,都会产生相同的随机数->相同的行为。不这样做:将发生基于时间的种子设定,对脚本的两次调用可能会产生不同的结果。这就是PRNG的基本用法。关键字是再现性。@sascha那么,我应该在RandomForest中设置什么随机状态?只是一个数字(例如0)。或者它应该像SSS那样随着每次迭代而改变吗?这样做:每次调用代码时,都会产生相同的随机数->相同的行为。不这样做:将发生基于时间的种子设定,对脚本的两次调用可能会产生不同的结果。这就是PRNG的基本用法。关键字是再现性。@sascha那么,我应该在RandomForest中设置什么随机状态?只是一个数字(例如0)。或者它应该像SSS那样随着每次迭代而改变吗?