Пример #1
0
    def send_output(self):
        if self.data is not None:
            relation_ = None
            if isinstance(self.data, Relation):
                relation_ = Relation(self.data.relation)
                if self.row_type:
                    relation_.relation.row_type = fusion.ObjectType(
                        self.row_type)
                if self.col_type:
                    relation_.relation.col_type = fusion.ObjectType(
                        self.col_type)
            else:
                relation_ = Relation.create(
                    self.data.X, fusion.ObjectType(self.row_type or "Unknown"),
                    fusion.ObjectType(self.col_type or "Unknown"))

            oos_mask = hide_data(relation_, self.percent / 100,
                                 SampleBy.all[self.method])

            def _mask_relation(relation, mask):
                if np.ma.is_masked(relation.data):
                    mask = np.logical_or(mask, relation.data.mask)
                data = copy.copy(relation)
                data.data = np.ma.array(data.data, mask=mask)
                return data

            oos_mask = _mask_relation(relation_.relation, oos_mask)

            self.send(Output.IN_SAMPLE_DATA, Relation(oos_mask))
            self.send(Output.OUT_OF_SAMPLE_DATA, Relation(oos_mask))
Пример #2
0
    def send_output(self):
        if self.data is not None:
            relation_ = None
            if isinstance(self.data, Relation):
                relation_ = Relation(self.data.relation)
                if self.row_type:
                    relation_.relation.row_type = fusion.ObjectType(self.row_type)
                if self.col_type:
                    relation_.relation.col_type = fusion.ObjectType(self.col_type)
            else:
                relation_ = Relation.create(self.data.X,
                    fusion.ObjectType(self.row_type or "Unknown"),
                    fusion.ObjectType(self.col_type or "Unknown"))

            oos_mask = hide_data(relation_,
                                 self.percent / 100,
                                 SampleBy.all[self.method])
            def _mask_relation(relation, mask):
                if np.ma.is_masked(relation.data):
                    mask = np.logical_or(mask, relation.data.mask)
                data = copy.copy(relation)
                data.data = np.ma.array(data.data, mask=mask)
                return data

            oos_mask = _mask_relation(relation_.relation, oos_mask)

            self.Outputs.in_sample_data.send(Relation(oos_mask))
            self.Outputs.out_of_sample_data.send(Relation(oos_mask))
Пример #3
0
 def commit(self, item=None):
     self.fuser = MeanFuser(self.mean_by)
     self.Outputs.fuser.send(self.fuser)
     rows = [i.row() for i in self.table.selectionModel().selectedRows()]
     if self.model.rowCount() and rows:
         relation = self.model[rows[0]][0]
         data = Relation.create(self.fuser.complete(relation),
                                relation.row_type, relation.col_type,
                                self.graph)
     else:
         data = None
     self.Outputs.relation.send(data)
 def commit(self, item=None):
     self.fuser = MeanFuser(self.mean_by)
     self.send(Output.FUSER, self.fuser)
     rows = [i.row() for i in self.table.selectionModel().selectedRows()]
     if self.model.rowCount() and rows:
         relation = self.model[rows[0]][0]
         data = Relation.create(self.fuser.complete(relation),
                                relation.row_type,
                                relation.col_type,
                                self.graph)
     else:
         data = None
     self.send(Output.RELATION, data)
Пример #5
0
 def commit(self, item=None):
     self.fuser = MeanFuser(self.mean_by)
     self.send(Output.FUSER, self.fuser)
     selection = self.table.selectedRanges()
     if self.table.rowCount() and selection:
         relation = self.table.rowData(selection[0].topRow())
         data = Relation.create(self.fuser.complete(relation),
                                relation.row_type,
                                relation.col_type,
                                self.graph)
     else:
         data = None
     self.send(Output.RELATION, data)
 def commit(self, item):
     data = Relation.create(*item.tableWidget().rowData(item.row()), graph=self.fuser) if item else None
     self.send(Output.RELATION, data)
 def commit(self, item):
     data = item.data(QtCore.Qt.UserRole)
     self.send(Output.RELATION, Relation.create(*data, graph=self.fuser))
 def commit(self, item):
     data = Relation.create(*item, graph=self.fuser) if item else None
     self.Outputs.relation.send(data)
 def commit(self, item):
     data = Relation.create(*item, graph=self.fuser) if item else None
     self.send(Output.RELATION, data)