class LGBMClassifier Found at: lightgbm.sklearn class LGBMClassifier(LGBMModel, _LGBMClassifierBase): """LightGBM classifier.""" def fit(self, X, y, sample_weight=None, init_score=None, eval_set=None, eval_names=None, eval_sample_weight=None, eval_class_weight=None, eval_init_score=None, eval_metric=None, early_stopping_rounds=None, verbose=True, feature_name='auto', categorical_feature='auto', callbacks=None): """Docstring is inherited from the LGBMModel.""" _LGBMAssertAllFinite(y) _LGBMCheckClassificationTargets(y) self._le = _LGBMLabelEncoder().fit(y) _y = self._le.transform(y) self._classes = self._le.classes_ self._n_classes = len(self._classes) if self._n_classes > 2: # Switch to using a multiclass objective in the underlying LGBM instance ova_aliases = "multiclassova", "multiclass_ova", "ova", "ovr" if self._objective not in ova_aliases and not callable(self. _objective): self._objective = "multiclass" if eval_metric in ('logloss', 'binary_logloss'): eval_metric = "multi_logloss" elif eval_metric in ('error', 'binary_error'): eval_metric = "multi_error" elif eval_metric in ('logloss', 'multi_logloss'): eval_metric = 'binary_logloss' elif eval_metric in ('error', 'multi_error'): eval_metric = 'binary_error' if eval_set is not None: if isinstance(eval_set, tuple): eval_set = [eval_set] for i, (valid_x, valid_y) in enumerate(eval_set): if valid_x is X and valid_y is y: eval_set[i] = valid_x, _y else: eval_set[i] = valid_x, self._le.transform(valid_y) super(LGBMClassifier, self).fit(X, _y, sample_weight=sample_weight, init_score=init_score, eval_set=eval_set, eval_names=eval_names, eval_sample_weight=eval_sample_weight, eval_class_weight=eval_class_weight, eval_init_score=eval_init_score, eval_metric=eval_metric, early_stopping_rounds=early_stopping_rounds, verbose=verbose, feature_name=feature_name, categorical_feature=categorical_feature, callbacks=callbacks) return self fit.__doc__ = LGBMModel.fit.__doc__ def predict(self, X, raw_score=False, num_iteration=None, pred_leaf=False, pred_contrib=False, **kwargs): """Docstring is inherited from the LGBMModel.""" result = self.predict_proba(X, raw_score, num_iteration, pred_leaf, pred_contrib, **kwargs) if raw_score or pred_leaf or pred_contrib: return result else: class_index = np.argmax(result, axis=1) return self._le.inverse_transform(class_index) predict.__doc__ = LGBMModel.predict.__doc__ def predict_proba(self, X, raw_score=False, num_iteration=None, pred_leaf=False, pred_contrib=False, **kwargs): """Return the predicted probability for each class for each sample. 返回每个类和每个样本的预测概率。 |