MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / construct

Method construct

python-package/lightgbmmt/basic.py:1044–1094  ·  view source on GitHub ↗

Lazy init. Returns ------- self : Dataset Constructed Dataset object.

(self)

Source from the content-addressed store, hash-verified

1042 return self
1043
1044 def construct(self):
1045 """Lazy init.
1046
1047 Returns
1048 -------
1049 self : Dataset
1050 Constructed Dataset object.
1051 """
1052 if self.handle is None:
1053 if self.reference is not None:
1054 if self.used_indices is None:
1055 # create valid
1056 self._lazy_init(self.data, label=self.label, reference=self.reference,
1057 weight=self.weight, group=self.group,
1058 init_score=self.init_score, predictor=self._predictor,
1059 silent=self.silent, feature_name=self.feature_name, params=self.params)
1060 else:
1061 # construct subset
1062 used_indices = list_to_1d_numpy(self.used_indices, np.int32, name='used_indices')
1063 assert used_indices.flags.c_contiguous
1064 if self.reference.group is not None:
1065 group_info = np.array(self.reference.group).astype(np.int32, copy=False)
1066 _, self.group = np.unique(np.repeat(range_(len(group_info)), repeats=group_info)[self.used_indices],
1067 return_counts=True)
1068 self.handle = ctypes.c_void_p()
1069 params_str = param_dict_to_str(self.params)
1070 _safe_call(_LIB.LGBM_DatasetGetSubset(
1071 self.reference.construct().handle,
1072 used_indices.ctypes.data_as(ctypes.POINTER(ctypes.c_int32)),
1073 ctypes.c_int(used_indices.shape[0]),
1074 c_str(params_str),
1075 ctypes.byref(self.handle)))
1076 if not self.free_raw_data:
1077 self.get_data()
1078 if self.group is not None:
1079 self.set_group(self.group)
1080 if self.get_label() is None:
1081 raise ValueError("Label should not be None.")
1082 if isinstance(self._predictor, _InnerPredictor) and self._predictor is not self.reference._predictor:
1083 self.get_data()
1084 self._set_init_score_by_predictor(self._predictor, self.data, used_indices)
1085 else:
1086 # create train
1087 self._lazy_init(self.data, label=self.label,
1088 weight=self.weight, group=self.group,
1089 init_score=self.init_score, predictor=self._predictor,
1090 silent=self.silent, feature_name=self.feature_name,
1091 categorical_feature=self.categorical_feature, params=self.params)
1092 if self.free_raw_data:
1093 self.data = None
1094 return self
1095
1096 def create_valid(self, data, label=None, weight=None, group=None,
1097 init_score=None, silent=False, params=None):

Callers 15

save_binaryMethod · 0.95
_dump_textMethod · 0.95
test_chunked_datasetMethod · 0.95
preprocess_dataMethod · 0.95
_lazy_initMethod · 0.80
__init__Method · 0.80
add_validMethod · 0.80
updateMethod · 0.80
_make_n_foldsFunction · 0.80
test_subset_groupMethod · 0.80

Calls 10

_lazy_initMethod · 0.95
get_dataMethod · 0.95
set_groupMethod · 0.95
get_labelMethod · 0.95
list_to_1d_numpyFunction · 0.85
param_dict_to_strFunction · 0.85
_safe_callFunction · 0.85
arrayMethod · 0.80
c_strFunction · 0.70