Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何以更好的优化方式计算cross_val_score()的平均值?_Python_Machine Learning_Classification_Random Forest_Cross Validation - Fatal编程技术网

Python 如何以更好的优化方式计算cross_val_score()的平均值?

Python 如何以更好的优化方式计算cross_val_score()的平均值?,python,machine-learning,classification,random-forest,cross-validation,Python,Machine Learning,Classification,Random Forest,Cross Validation,为了便于培训,我使用了一个由13个特征和304行组成的示例数据。我正在尝试评估我使用的RandomForestClassifier()的分数。为了使分数预测更精确,我将cross_val_score()的所有结果添加到一个列表中,并得到该列表中数字的平均值。我还使用计时器来查看运行它需要多长时间。 下面是代码的cross_val_score()部分: start = time.time() big_mean = list() i = 0 while i < 100: score =

为了便于培训,我使用了一个由13个特征和304行组成的示例数据。我正在尝试评估我使用的RandomForestClassifier()的分数。为了使分数预测更精确,我将cross_val_score()的所有结果添加到一个列表中,并得到该列表中数字的平均值。我还使用计时器来查看运行它需要多长时间。 下面是代码的cross_val_score()部分:

start = time.time()
big_mean = list()
i = 0
while i < 100:
    score = np.mean(cross_val_score(RFC,X,y,cv=5))
    big_mean.append(score)
    i += 1
print(sum(big_mean)/len(big_mean))
end = time.time()
print("Timer: ",end - start)

我觉得代码优化得很差。如果有更多的数据,它甚至需要超过75秒。什么样的更改会使这成为一个更好的优化代码?

如果使用for循环,您将能够使它更快一些。除此之外,我不认为你可以优化它更多。问题仍然在O(n)类中。我认为消耗时间的主要事情是计算交叉验证分数和交叉验证分数(RFC,X,y,cv=5),这是你无论如何都无法改变的。考虑到所需的循环/计算量很低,所有其他迭代/计算几乎不需要任何时间。谢谢。我多次运行交叉验证以获得更精确的分数是否有意义?@cagatay.e.sahin多次运行交叉验证可能对稳定性较差的模型有意义。看看
big\u的意思
并根据需要更改
i
0.8210316939890709
Timer:  75.11970710754395