У меня есть следующий код, который фактически выполняет вычисление 50C30
, т.е. выбирает 30 комбинаций из 50 случаев, а затем, если какая-либо комбинация удовлетворяет определенному условию, она сохраняет ее, но проблема 50C30
эквивалентна47129212243960, которые слишком много комбинаций для проверки.Как я мог ускориться, у меня в руках графический процессор Tesla k80.
Ниже приведен не мой точный код, но в нем изображена реальная проблема с землей - test4 - это фрейм данных, который содержит данные.
r =30
for p in combinations(test4.index,r):
den = np.mean(p)
num = np.std(p)
cv = num/den
if (den >= 561 and den <= 570 ) :
if(cv>=0.13 or cv <= 0.17 and check1):
check1=0
print("Combination 1 done")
elif(den>=391 and den <= 400):
if(cv>=0.13 or cv < 0.17 and check10):
check10 = 0
print("Combination 10 done")
if(check1+check10==0)
break