コード例 #1
0
ファイル: spec.py プロジェクト: wesm/charlton
 def build(self, factor_values, out):
     assert self.total_columns == out.shape[1]
     out[:] = 1
     for i, column_idxs in enumerate(odometer_iter(self._columns_per_factor)):
         for factor, column_idx in zip(self._factors, column_idxs):
             if factor in self._cat_contrasts:
                 contrast = self._cat_contrasts[factor]
                 out[:, i] *= contrast.matrix[factor_values[factor].ravel(),
                                              column_idx]
             else:
                 assert (factor_values[factor].shape[1]
                         == self._num_columns[factor])
                 out[:, i] *= factor_values[factor][:, column_idx]
コード例 #2
0
ファイル: spec.py プロジェクト: sarahhodne/charlton
 def build(self, factor_values, out):
     assert self.total_columns == out.shape[1]
     out[:] = 1
     for i, column_idxs in enumerate(odometer_iter(
             self._columns_per_factor)):
         for factor, column_idx in zip(self._factors, column_idxs):
             if factor in self._cat_contrasts:
                 contrast = self._cat_contrasts[factor]
                 out[:, i] *= contrast.matrix[factor_values[factor].ravel(),
                                              column_idx]
             else:
                 assert (factor_values[factor].shape[1] ==
                         self._num_columns[factor])
                 out[:, i] *= factor_values[factor][:, column_idx]
コード例 #3
0
ファイル: spec.py プロジェクト: bcui6611/charlton
 def build(self, factor_values, out):
     assert self.total_columns == out.shape[1]
     out[:] = 1
     for i, column_idxs in enumerate(odometer_iter(self._columns_per_factor)):
         for factor, column_idx in zip(self._factors, column_idxs):
             if factor in self._cat_contrasts:
                 contrast = self._cat_contrasts[factor]
                 out[:, i] *= contrast.matrix[factor_values[factor].ravel(),
                                              column_idx]
             else:
                 if not isinstance(factor_values[factor], Series):
                     assert (factor_values[factor].shape[1]
                         == self._num_columns[factor])
                     out[:, i] *= factor_values[factor][:, column_idx]
                     #TODO: is this working right for DFs?
                 else:
                     out[:, i] *= factor_values[factor]
コード例 #4
0
ファイル: spec.py プロジェクト: bcui6611/charlton
 def column_names(self):
     if not self._factors:
         return ["Intercept"]
     column_names = []
     for i, column_idxs in enumerate(odometer_iter(self._columns_per_factor)):
         name_pieces = []
         for factor, column_idx in zip(self._factors, column_idxs):
             if factor in self._num_columns:
                 if self._num_columns[factor] > 1:
                     name_pieces.append("%s[%s]"
                                        % (factor.name(), column_idx))
                 else:
                     assert column_idx == 0
                     name_pieces.append(factor.name())
             else:
                 contrast = self._cat_contrasts[factor]
                 suffix = contrast.column_suffixes[column_idx]
                 name_pieces.append("%s%s" % (factor.name(), suffix))
         column_names.append(":".join(name_pieces))
     assert len(column_names) == self.total_columns
     return column_names
コード例 #5
0
ファイル: spec.py プロジェクト: sarahhodne/charlton
 def column_names(self):
     if not self._factors:
         return ["Intercept"]
     column_names = []
     for i, column_idxs in enumerate(odometer_iter(
             self._columns_per_factor)):
         name_pieces = []
         for factor, column_idx in zip(self._factors, column_idxs):
             if factor in self._num_columns:
                 if self._num_columns[factor] > 1:
                     name_pieces.append("%s[%s]" %
                                        (factor.name(), column_idx))
                 else:
                     assert column_idx == 0
                     name_pieces.append(factor.name())
             else:
                 contrast = self._cat_contrasts[factor]
                 suffix = contrast.column_suffixes[column_idx]
                 name_pieces.append("%s%s" % (factor.name(), suffix))
         column_names.append(":".join(name_pieces))
     assert len(column_names) == self.total_columns
     return column_names