mdr/continuous_mdr.py
def fit(self, features, targets):
        """Constructs the Continuous MDR feature map from the provided training data.

        Parameters
        ----------
        features: array-like {n_samples, n_features}
            Feature matrix
        targets: array-like {n_samples}
            List of target values for prediction

        Returns
        -------
        self: A copy of the fitted model

        """
        self.feature_map = defaultdict(lambda: self.default_label)
        self.overall_mean_trait_value = np.mean(targets)
        self.mdr_matrix_values = defaultdict(list)

        for row_i in range(features.shape[0]):
            feature_instance = tuple(features[row_i])
            self.mdr_matrix_values[feature_instance].append(targets[row_i])

        for feature_instance in self.mdr_matrix_values:
            grid_mean_trait_value = np.mean(self.mdr_matrix_values[feature_instance])
            if grid_mean_trait_value > self.overall_mean_trait_value: 
                self.feature_map[feature_instance] = 1
            elif grid_mean_trait_value == self.overall_mean_trait_value:
                self.feature_map[feature_instance] = self.tie_break
            else:
                self.feature_map[feature_instance] = 0

        # Convert defaultdict to dict so CMDR objects can be easily pickled
        self.feature_map = dict(self.feature_map)
        self.mdr_matrix_values = dict(self.mdr_matrix_values)

        return self
def fit(self, features, targets):
        self.feature_map = defaultdict(lambda: self.default_label)
        self.overall_mean_trait_value = np.mean(targets)
        self.mdr_matrix_values = defaultdict(list)

        for row_i in range(features.shape[0]):
            feature_instance = tuple(features[row_i])
            self.mdr_matrix_values[feature_instance].append(targets[row_i])

        for feature_instance in self.mdr_matrix_values:
            grid_mean_trait_value = np.mean(self.mdr_matrix_values[feature_instance])
            if grid_mean_trait_value > self.overall_mean_trait_value: 
                self.feature_map[feature_instance] = 1
            elif grid_mean_trait_value == self.overall_mean_trait_value:
                self.feature_map[feature_instance] = self.tie_break
            else:
                self.feature_map[feature_instance] = 0

        # Convert defaultdict to dict so CMDR objects can be easily pickled
        self.feature_map = dict(self.feature_map)
        self.mdr_matrix_values = dict(self.mdr_matrix_values)

        return self
def fit ( self , features , targets ) : self . feature_map = defaultdict ( lambda : self . default_label ) self . overall_mean_trait_value = np . mean ( targets ) self . mdr_matrix_values = defaultdict ( list ) for row_i in range ( features . shape [ 0 ] ) : feature_instance = tuple ( features [ row_i ] ) self . mdr_matrix_values [ feature_instance ] . append ( targets [ row_i ] ) for feature_instance in self . mdr_matrix_values : grid_mean_trait_value = np . mean ( self . mdr_matrix_values [ feature_instance ] ) if grid_mean_trait_value > self . overall_mean_trait_value : self . feature_map [ feature_instance ] = 1 elif grid_mean_trait_value == self . overall_mean_trait_value : self . feature_map [ feature_instance ] = self . tie_break else : self . feature_map [ feature_instance ] = 0 # Convert defaultdict to dict so CMDR objects can be easily pickled self . feature_map = dict ( self . feature_map ) self . mdr_matrix_values = dict ( self . mdr_matrix_values ) return self
Constructs the Continuous MDR feature map from the provided training data.

        Parameters
        ----------
        features: array-like {n_samples, n_features}
            Feature matrix
        targets: array-like {n_samples}
            List of target values for prediction

        Returns
        -------
        self: A copy of the fitted model
Constructs the Continuous MDR feature map from the provided training data .