зеркало из https://github.com/microsoft/LightGBM.git
improve error message for required packages (#4304)
This commit is contained in:
Родитель
272fedb95a
Коммит
f076ca58b3
|
@ -6,7 +6,7 @@ import lightgbm as lgb
|
||||||
if lgb.compat.MATPLOTLIB_INSTALLED:
|
if lgb.compat.MATPLOTLIB_INSTALLED:
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
else:
|
else:
|
||||||
raise ImportError('You need to install matplotlib for plot_example.py.')
|
raise ImportError('You need to install matplotlib and restart your session for plot_example.py.')
|
||||||
|
|
||||||
print('Loading data...')
|
print('Loading data...')
|
||||||
# load or create your dataset
|
# load or create your dataset
|
||||||
|
|
|
@ -2085,7 +2085,8 @@ class Dataset:
|
||||||
elif isinstance(self.data, pd_DataFrame):
|
elif isinstance(self.data, pd_DataFrame):
|
||||||
if not PANDAS_INSTALLED:
|
if not PANDAS_INSTALLED:
|
||||||
raise LightGBMError("Cannot add features to DataFrame type of raw data "
|
raise LightGBMError("Cannot add features to DataFrame type of raw data "
|
||||||
"without pandas installed")
|
"without pandas installed. "
|
||||||
|
"Install pandas and restart your session.")
|
||||||
if isinstance(other.data, np.ndarray):
|
if isinstance(other.data, np.ndarray):
|
||||||
self.data = concat((self.data, pd_DataFrame(other.data)),
|
self.data = concat((self.data, pd_DataFrame(other.data)),
|
||||||
axis=1, ignore_index=True)
|
axis=1, ignore_index=True)
|
||||||
|
@ -2402,7 +2403,8 @@ class Booster:
|
||||||
Returns a pandas DataFrame of the parsed model.
|
Returns a pandas DataFrame of the parsed model.
|
||||||
"""
|
"""
|
||||||
if not PANDAS_INSTALLED:
|
if not PANDAS_INSTALLED:
|
||||||
raise LightGBMError('This method cannot be run without pandas installed')
|
raise LightGBMError('This method cannot be run without pandas installed. '
|
||||||
|
'You must install pandas and restart your session to use this method.')
|
||||||
|
|
||||||
if self.num_trees() == 0:
|
if self.num_trees() == 0:
|
||||||
raise LightGBMError('There are no trees in this Booster and thus nothing to parse')
|
raise LightGBMError('There are no trees in this Booster and thus nothing to parse')
|
||||||
|
|
|
@ -80,7 +80,7 @@ def plot_importance(booster, ax=None, height=0.2,
|
||||||
if MATPLOTLIB_INSTALLED:
|
if MATPLOTLIB_INSTALLED:
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
else:
|
else:
|
||||||
raise ImportError('You must install matplotlib to plot importance.')
|
raise ImportError('You must install matplotlib and restart your session to plot importance.')
|
||||||
|
|
||||||
if isinstance(booster, LGBMModel):
|
if isinstance(booster, LGBMModel):
|
||||||
booster = booster.booster_
|
booster = booster.booster_
|
||||||
|
@ -197,7 +197,7 @@ def plot_split_value_histogram(booster, feature, bins=None, ax=None, width_coef=
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from matplotlib.ticker import MaxNLocator
|
from matplotlib.ticker import MaxNLocator
|
||||||
else:
|
else:
|
||||||
raise ImportError('You must install matplotlib to plot split value histogram.')
|
raise ImportError('You must install matplotlib and restart your session to plot split value histogram.')
|
||||||
|
|
||||||
if isinstance(booster, LGBMModel):
|
if isinstance(booster, LGBMModel):
|
||||||
booster = booster.booster_
|
booster = booster.booster_
|
||||||
|
@ -294,7 +294,7 @@ def plot_metric(booster, metric=None, dataset_names=None,
|
||||||
if MATPLOTLIB_INSTALLED:
|
if MATPLOTLIB_INSTALLED:
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
else:
|
else:
|
||||||
raise ImportError('You must install matplotlib to plot metric.')
|
raise ImportError('You must install matplotlib and restart your session to plot metric.')
|
||||||
|
|
||||||
if isinstance(booster, LGBMModel):
|
if isinstance(booster, LGBMModel):
|
||||||
eval_results = deepcopy(booster.evals_result_)
|
eval_results = deepcopy(booster.evals_result_)
|
||||||
|
@ -602,7 +602,7 @@ def plot_tree(booster, ax=None, tree_index=0, figsize=None, dpi=None,
|
||||||
import matplotlib.image as image
|
import matplotlib.image as image
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
else:
|
else:
|
||||||
raise ImportError('You must install matplotlib to plot tree.')
|
raise ImportError('You must install matplotlib and restart your session to plot tree.')
|
||||||
|
|
||||||
if ax is None:
|
if ax is None:
|
||||||
if figsize is not None:
|
if figsize is not None:
|
||||||
|
|
|
@ -461,7 +461,8 @@ class LGBMModel(_LGBMModelBase):
|
||||||
and you should group grad and hess in this way as well.
|
and you should group grad and hess in this way as well.
|
||||||
"""
|
"""
|
||||||
if not SKLEARN_INSTALLED:
|
if not SKLEARN_INSTALLED:
|
||||||
raise LightGBMError('scikit-learn is required for lightgbm.sklearn')
|
raise LightGBMError('scikit-learn is required for lightgbm.sklearn. '
|
||||||
|
'You must install scikit-learn and restart your session to use this module.')
|
||||||
|
|
||||||
self.boosting_type = boosting_type
|
self.boosting_type = boosting_type
|
||||||
self.objective = objective
|
self.objective = objective
|
||||||
|
|
Загрузка…
Ссылка в новой задаче