У меня есть python кодирование для выбора признаков с использованием теории грубых множеств. Это алгоритм быстрого сокращения. Однако я не могу произвести вывод, так как он работает очень медленно для набора данных большого размера. Может потребоваться несколько дней, чтобы запустить кодирование, но все же я не могу произвести вывод. Кто-нибудь может дать какие-либо предложения по решению этой проблемы?
from itertools import combinations
import itertools
from itertools import chain, combinations
# do not change
reduct=[]
stuff = allAttributesName
# stuff = [1, 2, 3]
for i, combo in enumerate(powerset(stuff), 1):
if len(combo)>0 and i>0:
ll=[]
abc=[]
for index in range(0,len(combo)) :
ll.append(combo[index])
# print(ll)
indList=[]
indList=indiscernibility(ll,dtm_df)
indList = list(filter(None, indList))
for m in range(0,len(indList)) :
flag=0
tl=[]
for n in range(0,len(indList[m])) :
for pr in positiveRegionValue :
if indList[m][n]==pr :
tl.append(indList[m][n])
if len(tl)>0 :
abc.append(tl)
cc=0
for x in INDC:
for y in abc :
if len(y)==len(x) :
temp=set(x) & set(y)
if len(temp)==len(y) :
cc=cc+1
# print(temp)
if(cc==len(INDC)) :
# print("Matched")
reduct.append(ll)
`