Выбор характеристик с использованием теории грубых множеств - PullRequest
1 голос
/ 02 мая 2020

У меня есть 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)

`
...