def predict(self, X, ids, weight, feature_names=None): self.feature_names = feature_names query_indptr, query_ids = self._build_query_indptr(ids) # We wont be using this, but Queries wont instantiate without it y = np.zeros(X.shape[0]) q = Queries(X, y, query_indptr, query_ids=query_ids) y_pred = self.model.predict(q, n_jobs=self.params['n_jobs']) return y_pred
def _build_queries(self, X, y, ids, w): query_indptr, query_ids = self._build_query_indptr(ids) q = Queries(X, y, query_indptr, query_ids=query_ids) # weights as per query instead of per-row ... just guess wn = [ np.mean(w[query_indptr[i]:query_indptr[i + 1]]) for i in range(len(query_indptr) - 1) ] wn = [w[i] for i in query_indptr[:-1]] return q, np.ascontiguousarray(wn, dtype='float64')