Exemplo n.º 1
0
    def fit(self, X, y):
        """
        X - SPGeneratorData
        X[i] = {"id":0,"sp":[[image, ... ],...],"descriptors":[<row of features>]}
        """
        sp_list = QSARModel1.getSPList(X)

        self.sptype = descr.SPType(n_image_clusters=self.n_image_clusters,
                                   n_prop_clusters=self.n_prop_clusters)
        self.sptype.fit(sp_list)
        mat = descr.createDescriptors(sp_list, self.sptype)

        if "descriptors" in X[0]:
            # build features_mat
            features_list = []
            for el in X:
                features_list.append(el["descriptors"])

            features_mat = np.array(features_list)

            # concatenate mat and features_mat
            mat = np.concatenate([mat, features_mat], axis=1)

        self.trainer = clone(self.estimator)
        self.trainer.fit(mat, y)
        return
Exemplo n.º 2
0
    def fit(self, X, y):
        """
        X - SPGeneratorData
        X[i] = {"id":0,"data":[mol_points, mol_props],"features":[<row of features>]}
        """
        sp_list, segm_list = self.sp_generator_fun(X, self.n_sp_clusters,
                                                   self.imsize)

        self.sptype = descr.SPType(n_image_clusters=self.n_image_clusters,
                                   n_prop_clusters=self.n_prop_clusters)
        self.sptype.fit(sp_list)
        mat = descr.createDescriptors(sp_list, self.sptype)

        if "features" in X[0]:
            # build features_mat
            features_list = []
            for el in X:
                features_list.append(el["features"])

            features_mat = np.array(features_list)

            # concatenate mat and features_mat
            mat = np.concatenate([mat, features_mat], axis=1)

        self.trainer = clone(self.estimator)
        self.trainer.fit(mat, y)
        return
Exemplo n.º 3
0
    def score(self, X, y, sample_weight=None):
        """
        X - SPGeneratorData
        X[i] = {"id":0,"sp":[[images, ... ],...],"descriptors":[<row of features>]}
        """
        sp_list = QSARModel1.getSPList(X)

        mat = descr.createDescriptors(sp_list, self.sptype)

        if "descriptors" in X[0]:
            # build features_mat
            features_list = []
            for el in X:
                features_list.append(el["descriptors"])

            features_mat = np.array(features_list)

            # concatenate mat and features_mat
            mat = np.concatenate([mat, features_mat], axis=1)

        return self.trainer.score(mat, y, sample_weight)
Exemplo n.º 4
0
    def getMatrix(self, X):
        """
        X - SPGeneratorData
        return md - matrix
        """
        sp_list = QSARModel1.getSPList(X)

        self.sptype = descr.SPType(n_image_clusters=self.n_image_clusters,
                                   n_prop_clusters=self.n_prop_clusters)
        self.sptype.fit(sp_list)
        mat = descr.createDescriptors(sp_list, self.sptype)

        if "descriptors" in X[0]:
            # build features_mat
            features_list = []
            for el in X:
                features_list.append(el["descriptors"])

            features_mat = np.array(features_list)

            # concatenate mat and features_mat
            mat = np.concatenate([mat, features_mat], axis=1)

        return mat
Exemplo n.º 5
0
    def predict(self, X):
        """
        X - SPGeneratorData
        X[i] = {"id":0,"data":[mol_points, mol_props],"features":[<row of features>]}
        """

        # X[i] <-> sp_list[i]
        sp_list, segm_list = self.sp_generator_fun(X, self.n_sp_clusters,
                                                   self.imsize)

        mat = descr.createDescriptors(sp_list, self.sptype)

        if "features" in X[0]:
            # build features_mat
            features_list = []
            for el in X:
                features_list.append(el["features"])

            features_mat = np.array(features_list)

            # concatenate mat and features_mat
            mat = np.concatenate([mat, features_mat], axis=1)

        return self.trainer.predict(mat)