title: Feature Selection using Rough Set Theory
body: <p>I have a python coding for feature selection using rough set theory. This is a quick reduct algorithm. However, I can't produce the output since it runs very slow for high dimensional dataset. It can takes days to run the coding but still I cannot produce the output. Can anyone give any suggestions to solve this problem ?</p>
  
  <pre><code>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)&gt;0 and i&gt;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)&gt;0 :
                  abc.append(tl)
          cc=0
          for x in INDC:
              for y in abc :
                  if len(y)==len(x) :
                      temp=set(x) &amp; set(y)
                      if len(temp)==len(y) :
                          cc=cc+1
  #                         print(temp)
          if(cc==len(INDC)) :
  #             print("Matched")
              reduct.append(ll)
  
  `
  </code></pre>