p300bot.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:cebl 作者: idfah 项目源码 文件源码
def trainClassifier(self):
        if self.trainCap is None:
            raise Exception('No data available for training.')

        self.plotPanel.plotERP(self.trainCap)

        dialog = wx.ProgressDialog('Training Classifier',
            'Featurizing', maximum=self.nFold+1,
            style=wx.PD_ELAPSED_TIME | wx.PD_SMOOTH)

        cap = self.decimate(self.trainCap)
        seg = cap.segment(start=self.windowStart, end=self.windowEnd)
        #print 'nSeg: ', seg.getNSeg()

        targ = seg.select(matchFunc=lambda mark: self.markToStim(mark) == self.targStr)
        nTarg = targ.getNSeg()
        #print 'nTarg: ', nTarg

        #nonTarg = seg.select(matchFunc=lambda mark: self.markToStim(mark) == self.nonTargStr)
        nonTarg = seg.select(matchFunc=lambda mark: self.markToStim(mark) != self.targStr)
        nNonTarg = nonTarg.getNSeg()
        #print 'nNonTarg: ', nNonTarg

        classData = [targ.chanEmbed(), nonTarg.chanEmbed()]

        self.standardizer = ml.Standardizer(np.vstack(classData))
        classData = [self.standardizer.apply(cls) for cls in classData]
        #print 'classData shape', [cls.shape for cls in classData]

        if self.classifierKind == 'LDA':
            self.trainLDA(classData, dialog)
        elif self.classifierKind == 'KNNE':
            self.trainKNN(classData, dialog, metric='euclidean')
        elif self.classifierKind == 'KNNC':
            self.trainKNN(classData, dialog, metric='cosine')
        elif self.classifierKind == 'LGR':
            self.trainLGR(classData, dialog)
        elif self.classifierKind == 'NN':
            self.trainNN(classData, dialog)
        else:
            raise Exception('Invalid classifier kind: %s.' % str(self.classifierKind))

        self.plotPanel.showPieMenu()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号