Ejemplo n.º 1
0
    def update(self):
        # Handle to storage for model parameters
        params = self._parameters

        # Make sure all my meta data is ready to go
        params.validateMeta()

        observation_vectors = []
        truth_vectors = []

        # Make sure my model data is ready to go
        self._model_data.validate()
        self._model_data.validateViews(self.getMetaData("db_views"))

        # Check my model data
        observation_vectors = self._model_data.getMetaData(
            "observation_vectors")

        truth_vectors = self._model_data.getMetaData("truth_vectors")

        params.setMetaData("db_views", [])

        # Houston we are go
        mnb = MultinomialNB()

        mnb.alpha = self.getMetaData("alpha")
        mnb.fit_prior = self.getMetaData("fit_prior")
        class_prior = self.getMetaData("class_prior")
        if (class_prior != None):
            mnb.class_prior = class_prior

        mnb.fit(observation_vectors, truth_vectors)
        params.setBinaryData("mnb_model", "application/pickle",
                             pickle.dumps(mnb))

        self.finalize()