def __init__(self, name, **kwargs):
self.name = name
self._is_fit = False
criterion = kwargs.get('criterion', 'gini')
splitter = kwargs.get('splitter', 'best')
max_depth = kwargs.get('max_depth', None)
min_samples_split = kwargs.get('min_samples_split', 2)
min_samples_leaf = kwargs.get('min_samples_leaf', 1)
min_weight_fraction_leaf = kwargs.get('min_weight_fraction_leaf', 0.0)
max_features = kwargs.get('max_features', None)
random_state = kwargs.get('random_state', None)
max_leaf_nodes = kwargs.get('max_leaf_nodes', None)
class_weight = kwargs.get('class_weight', None)
presort = kwargs.get('presort', False)
self.mdlp = kwargs.get('mdlp', False)
if self.mdlp:
criterion = 'entropy'
max_leaf_nodes = None
max_depth = None
self.dtc = DecisionTreeClassifier(criterion=criterion,
splitter=splitter,
max_depth=max_depth,
min_samples_split=min_samples_split,
min_samples_leaf=min_samples_leaf,
min_weight_fraction_leaf=min_weight_fraction_leaf,
max_features=max_features,
random_state=random_state,
max_leaf_nodes=max_leaf_nodes,
class_weight=class_weight,
presort=presort)
self._splits = [np.PINF]
self._values = list()
评论列表
文章目录