Example #1
0
 def __init__(self, data):
   self.data = data
   self.train = createTbl(data[-2:-1],
                          _smote=False,
                          isBin=True,
                          bugThres=1,
                          duplicate=True)
   self.test = createTbl([data[-1]], isBin=True, bugThres=1)
Example #2
0
  def newTable(self, justDeltas=False):
    if not self.bin:
      oldRows = [r for r in self.test._rows if abs(r.cells[-2]) > 0]
    else:
      oldRows = self.test._rows
    newRows = [self.patchIt(t) for t in oldRows]
    if self.write:
      self.deltasCSVWriter()

    header = [h.name for h in self.test.headers[:-1]]
    name = str(randint(0, 1e6))

    with open('tmp0.csv', 'w') as csvfile:
      writer = csv.writer(csvfile, delimiter=',')
      writer.writerow(header)
      for el in newRows:
        writer.writerow(el + [0])

    if justDeltas == False:
      try:
        new = createTbl(['tmp0.csv'])
        rm('tmp0.csv')
        return new
      except:
        set_trace()
    else:
      return self.change
Example #3
0
  def __init__(
          self, train, test, clusters, prune=False, B=0.25
          , verbose=False, config=False, models=False, pred=[], name=None):
    if config or models:
      self.train = createTbl(train, isBin=False)
      self.test = createTbl(test, isBin=False)
    else:
      self.train = createTbl(train, isBin=True)
      self.test = createTbl(test, isBin=True)

    self.name = name
    self.clusters = clusters
    self.Prune = prune
    self.B = B
    self.mask = self.fWeight()
    self.write = verbose
    self.bin = config
    self.pred = pred
    self.change = []
Example #4
0
 def main(self, mode='defect', justDeltas=False):
   if mode == "defect":
     train_DF = createTbl(self.train, isBin=False)
     test_DF = createTbl(self.test, isBin=False)
     before = rforest(train=train_DF, test=test_DF)
     clstr = [c for c in self.nodes(train_DF._rows)]
     return patches(train=self.train,
                    test=self.test,
                    clusters=clstr,
                    prune=self.prune,
                    pred=before).newTable(justDeltas=justDeltas)
   elif mode == "models":
     train_DF = createTbl(self.train, isBin=False)
     test_DF = createTbl(self.test, isBin=False)
     before = rforest(train=train_DF, test=test_DF)
     clstr = [c for c in self.nodes(train_DF._rows)]
     return patches(train=self.train,
                    test=self.test,
                    clusters=clstr,
                    prune=self.prune,
                    models=True,
                    pred=before).newTable(justDeltas=justDeltas)
   elif mode == "config":
     train_DF = createTbl(self.train, isBin=False)
     test_DF = createTbl(self.test, isBin=False)
     before = rforest2(train=train_DF, test=test_DF)
     clstr = [c for c in self.nodes(train_DF._rows)]
     return patches(train=self.train,
                    test=self.test,
                    clusters=clstr,
                    name=self.name,
                    prune=self.prune,
                    pred=before,
                    config=True).newTable(justDeltas=justDeltas)
Example #5
0
 def depen(self, row):
   # My where2pred() takes data in string format. Ex:
   # '../Data/ant/ant-1.6.csv'
   self.where = defaults().update(
       minSize=row[4], depthMin=int(
           row[5]), depthMax=int(
           row[6]), prune=row[7] > 0.5)
   self.tree.infoPrune = row[1]
   self.tree.m = int(row[2])
   self.tree.n = int(row[3])
   self.tree.prune = row[8] > 0.5
   actual = Bugs(createTbl([self.test], isBin=True))
   preds = where2prd(
       self.train, [
           self.test], tunings=[
           self.where, self.tree], thresh=row[0])
   return _Abcd(before=actual, after=preds, show=False)[-1]