Ejemplo n.º 1
0
 def _train_cross_valid(self, _skiptrain=False):
     df = DataFeeder(*(self.traindata + [self.traingold]))
     splitter = SplitIdxIterator(df.size,
                                 split=self.validsplits,
                                 random=self.validrandom,
                                 folds=self.validsplits)
     err = []
     verr = []
     c = 0
     for splitidxs in splitter:
         trainf = self.buildtrainfun(self.model)
         validf = self.getvalidfun(self.model)
         tf, vf = df.isplit(splitidxs, df_randoms=(True, False))
         tf.numbats(self.numbats)
         vf.batsize = tf.batsize
         serr, sverr = self.trainloop(trainf=self.getbatchloop(trainf, tf),
                                      validf=self.getbatchloop(validf, vf),
                                      _skiptrain=_skiptrain)
         err.append(serr)
         verr.append(sverr)
         self.resetmodel(self.model)
     err = np.asarray(err)
     avgerr = np.mean(err, axis=0)
     verr = np.asarray(verr)
     avgverr = np.mean(verr, axis=0)
     self.tt.tock("done")
     return avgerr, avgverr, err, verr
Ejemplo n.º 2
0
 def _train_cross_valid(self):
     df = DataFeeder(*(self.traindata + [self.traingold]))
     splitter = SplitIdxIterator(df.size, split=self.validsplits, random=self.validrandom, folds=self.validsplits)
     err = []
     verr = []
     c = 0
     for splitidxs in splitter:
         trainf = self.buildtrainfun(self.model)
         validf = self.buildvalidfun(self.model)
         tf, vf = df.isplit(splitidxs)
         serr, sverr = self.trainloop(
             trainf=self.getbatchloop(trainf, tf.numbats(self.numbats)),
             validf=self.getbatchloop(validf, vf))
         err.append(serr)
         verr.append(sverr)
         self.resetmodel(self.model)
     err = np.asarray(err)
     avgerr = np.mean(err, axis=0)
     verr = np.asarray(verr)
     avgverr = np.mean(verr, axis=0)
     self.tt.tock("done")
     return avgerr, avgverr, err, verr