bciplayer.py 文件源码

python
阅读 24 收藏 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.bandpass(self.trainCap)
        seg = cap.segment(start=self.windowStart, end=self.windowEnd)
        seg = self.downsample(seg)
        print 'nSeg: ', seg.getNSeg()

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

        #nonTarg = seg.select(matchFunc=lambda mark: self.markToStim(mark) == 'Backward')
        nonTarg = seg.select(matchFunc=lambda mark: self.markToStim(mark) != 'Play')
        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 == 'Linear Discriminant':
            self.trainLDA(classData, dialog)
        elif self.classifierKind == 'K-Nearest Euclidean':
            self.trainKNN(classData, dialog, metric='euclidean')
        elif self.classifierKind == 'K-Nearest Cosine':
            self.trainKNN(classData, dialog, metric='cosine')
        elif self.classifierKind == 'Linear Logistic':
            self.trainLGR(classData, dialog)
        elif self.classifierKind == 'Neural Network':
            self.trainNN(classData, dialog)
        else:
            raise Exception('Invalid classifier kind: %s.' % str(self.classifierKind))

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


问题


面经


文章

微信
公众号

扫码关注公众号